আমার এর মতো কিছু দরকার:
সিএসএস দিয়ে এটি কীভাবে অর্জন করা যায়? আমি জানি যে একটি উপায় হ'ল ব্যাকগ্রাউন্ড ইমেজ ব্যবহার করা, তবে আমি কি কোনও চিত্র ছাড়াই কেবল CSS এর মাধ্যমে এটি অর্জন করতে পারি?
আমার এর মতো কিছু দরকার:
সিএসএস দিয়ে এটি কীভাবে অর্জন করা যায়? আমি জানি যে একটি উপায় হ'ল ব্যাকগ্রাউন্ড ইমেজ ব্যবহার করা, তবে আমি কি কোনও চিত্র ছাড়াই কেবল CSS এর মাধ্যমে এটি অর্জন করতে পারি?
উত্তর:
এটি করার একটি হ্যাকি উপায় আছে, :before
সিউডো উপাদানটি ব্যবহার করে । আপনি :before
একটি সীমানা দিন, তারপরে এটি একটি সিএসএস রূপান্তর দিয়ে ঘোরান। এইভাবে করাটি ডিওমে কোনও অতিরিক্ত উপাদান যুক্ত করে না এবং স্ট্রাইকথ্রু যুক্ত / অপসারণ ক্লাস যুক্ত করা / অপসারণ করার মতো একটি সহজ কাজ।
:before
, তবে ব্রাউজার যে অত্যন্ত শৃঙ্খলার জমিতে হবে না সমর্থন:before
কিন্তু সিএসএস রূপান্তর সমর্থন করি না।.strikethrough {
position: relative;
}
.strikethrough:before {
position: absolute;
content: "";
left: 0;
top: 50%;
right: 0;
border-top: 1px solid;
border-color: inherit;
-webkit-transform:rotate(-5deg);
-moz-transform:rotate(-5deg);
-ms-transform:rotate(-5deg);
-o-transform:rotate(-5deg);
transform:rotate(-5deg);
}
<span class="strikethrough">Deleted text</span>
হার্ডকোডিং ফন্টের রঙ এড়াতে আপনি এর linear-gradient
সাথে ব্যাকগ্রাউন্ড ব্যবহার করতে পারেন currentColor
:
.strikediag {
background: linear-gradient(to left top, transparent 47.75%, currentColor 49.5%, currentColor 50.5%, transparent 52.25%);
}
.withpadding {
padding: 0 0.15em;
}
The value is <span class="strikediag">2x</span> 3x<br>
The number is <span class="strikediag">1234567890</span>.
<p>
The value is <span class="strikediag withpadding">2x</span>3x<br>
The number is <span class="strikediag withpadding">1234567890</span>.
যদি উপাদানটি সম্পূর্ণরূপে ইনলাইন হওয়ার প্রয়োজন না হয় তবে আপনি একটি সিউডো উপাদানটি এলিমেন্টের শীর্ষে রেখাটি ব্যবহার করতে পারেন। সিউডো এলিমেন্টের আকার পরিবর্তন করে কোণটি সামঞ্জস্য করা যেতে পারে:
.strikediag {
display: inline-block;
position: relative;
}
.strikediag::before {
content: '';
position: absolute;
left: -0.1em;
right: -0.1em;
top: 0.38em;
bottom: 0.38em;
background: linear-gradient(to left top, transparent 45.5%, currentColor 47.5%, currentColor 52.5%, transparent 54.5%);
pointer-events: none;
}
The value is <span class="strikediag">2x</span> 3x<br>
The number is <span class="strikediag">1234567890</span>.
আমি মনে করি আপনি সম্ভবত একটি অনুভূমিক নিয়মে একটি ঘূর্ণন প্রভাব প্রয়োগ করতে পারেন। কিছুটা এইরকম:
<html>
<body>
<hr />
123456
</body>
</html>
সিএসএস সহ:
HR
{
width: 50px;
position: absolute;
background-color: #000000;
color: #000000;
border-color: #000000;
transform:rotate(-7deg);
-ms-transform:rotate(-7deg);
-moz-transform:rotate(-7deg);
-webkit-transform:rotate(-7deg);
-o-transform:rotate(-7deg);
}
আপনার মাইলেজটি ব্রাউজার এবং সংস্করণের উপর নির্ভর করে পরিবর্তিত হতে পারে, তাই আমি নিশ্চিত না যে আমি এটি অবলম্বন করতাম কিনা। উদাহরণস্বরূপ, IE এর পুরানো সংস্করণগুলি সমর্থন করার জন্য আপনাকে কিছু মজাদার ভিএমএল কোডটি সরিয়ে ফেলতে হতে পারে।
-7
ডিগ্রি, না +7
; নোট 2: HR
ক্রোমে ধূসর; ওভাররাইড করা সম্ভব?
CSS3 গ্রেডিয়েন্ট
background-image: linear-gradient(left bottom, rgb(234,20,136) 0%, rgb(255,46,164) 50%, rgb(255,74,197) 0%);
background-image: -o-linear-gradient(left bottom, rgb(234,20,136) 0%, rgb(255,46,164) 50%, rgb(255,74,197) 0%);
background-image: -moz-linear-gradient(left bottom, rgb(234,20,136) 0%, rgb(255,46,164) 50%, rgb(255,74,197) 0%);
background-image: -webkit-linear-gradient(left bottom, rgb(234,20,136) 0%, rgb(255,46,164) 50%, rgb(255,74,197) 0%);
background-image: -ms-linear-gradient(left bottom, rgb(234,20,136) 0%, rgb(255,46,164) 50%, rgb(255,74,197) 0%);
background-image: -webkit-gradient( linear, left bottom,right top,color-stop(0, rgb(234,20,136)), color-stop(0.5, rgb(255,46,164)), color-stop(0, rgb(255,74,197)) );
আমার উদাহরণটি আপনার প্রয়োজনগুলি পুরোপুরি পূরণ করবে না তবে আরও তথ্য এবং মজার টুইটের জন্য http://gradients.glrzad.com/ দেখুন ।
আপনাকে যা করতে হবে তা হ'ল একটি create background-gradient
এর white-black-white
এবং আপনার অবস্থান opacity
ভালো কিছু এ 48% 50% 52%
।
আমি মনে করি না এটির একটি টেকসই সিএসএস সমাধান আছে।
আমার খাঁটি সিএসএস সমাধানটি আপনার পাঠ্যের প্রথম উপাদানটির পিছনে পাঠ্যের আরেকটি উপাদান স্থাপন করা হবে যা অক্ষরের সংখ্যায় অভিন্ন (অক্ষরগুলি ''), লাইনের মাধ্যমে একটি পাঠ্য-ডিক্লেয়ারেশন এবং ঘোরানোর রূপান্তর।
কিছুটা এইরকম:
<html>
<head>
<style>
.strike{
text-decoration: line-through;
-webkit-transform: rotate(344deg);
-moz-transform: rotate(344deg);
-o-transform: rotate(344deg);}
</style>
</head>
<body>
<p>Text to display</p>
<p class='strike'> </p>
</body>
আমি অন্যান্য ব্যবহারকারীদের থেকে আরও ভাল উত্তর দেখার প্রত্যাশায় রয়েছি।
এটি একটি পুরানো প্রশ্ন তবে বিকল্প হিসাবে আপনি CSS3 লিনিয়ার গ্রেডিয়েন্টগুলি উদাহরণ হিসাবে ব্যবহার করতে পারেন ( http://codepen.io/yusuf-azer/pen/ojJLoG )।
ব্যাপক ব্যাখ্যা এবং একটি কম সমাধান চেক জন্য
http://www.yusufazer.com/tutorials-how-to/how-to-make-a-diagonal-line-through-with-css3/
span.price--line-through {
background-color: transparent;
background-image: -webkit-gradient(linear, 19.1% -7.9%, 81% 107.9%, color-stop(0, #fff), color-stop(.475, #fff), color-stop(.5, #000), color-stop(.515, #fff), color-stop(1, #fff));
background-image: -webkit-repeating-linear-gradient(287deg, #fff 0%, #fff 47.5%, #000 50%, #fff 51.5%, #fff 100%);
background-image: repeating-linear-gradient(163deg, #fff 0%, #fff 47.5%, #000 50%, #fff 51.5%, #fff 100%);
background-image: -ms-repeating-linear-gradient(287deg, #fff 0%, #fff 47.5%, #000 50%, #fff 51.5%, #fff 100%);
}
উপর থেকে বোজাঙ্গলসের উত্তর বাড়ানো:
.strike-diagonal-price {
position: relative;
background-color: black;
color: white;
}
.strike-diagonal-price:before {
position: absolute;
content: "";
left: 0;
top: 45%;
right: 0;
border-top: 2px solid;
border-color: red;
-webkit-transform: rotate(-25deg);
-moz-transform: rotate(-25deg);
-ms-transform: rotate(-25deg);
-o-transform: rotate(-25deg);
transform: rotate(-25deg);
}
আমি এটি এইচটিএম-তে একটি এসএসজি ব্যবহার করে একটি সিএসএস ক্লাস সহ এটি করেছি:
এইচটিএমএল:
<ul>
<li>Regular Price: <div class="zIndex-10a">$4.50</div><div class="zIndex-10b"><svg height="16" width="5"><line x1="0" y1="20" x2="40" y2="0" class="Strike-01a"></svg></div></li>
</ul>
সিএসএস:
/* -- CONTAINS TEXT TO STRIKE ---- */ .zIndex-10a { display: inline-block; position: relative; left: 0px; z-index: 10; }
/* -- CONTAINS SVG LINE IN HTML -- */ .zIndex-10b { display: inline-block; position: relative; right: 40px; z-index: 11; }
/* -- SVG STROKE PROPERTIES ------ */ .Strike-01a { stroke: rgb(255,0,0); stroke-width:2; }
এতক্ষণে আরও সহজ উপায় হতে পারে। আমি এইমাত্র আমার পণ্য বিবরণ বিশেষ অফার পৃষ্ঠার জন্য একটি চিম্টি এ রান্না করেছি। আশা করি এটি কাউকে সাহায্য করবে।
চেষ্টা করুন
.mydiv {
background-color: #990000;
color: #FFFF00;
font-size: 2em;
padding-top: 10px;
padding-bottom: 10px;
border-radius: 15px;
max-width: 300px;
width: 100%;
}
.strikethrough-100p, .strikethrough-50p{
position: relative;
text-align: center;
}
.strikethrough-100p:before {
position: absolute;
content: "";
left: 0;
top: 50%;
right: 0;
border-top: 3px solid;
border-color: inherit;
-webkit-transform:rotate(-5deg);
-moz-transform:rotate(-5deg);
-ms-transform:rotate(-5deg);
-o-transform:rotate(-5deg);
transform:rotate(-5deg);
}
.strikethrough-50p:before {
position: absolute;
content: "";
width:50%;
left: 25%;
top: 50%;
right: 0;
border-top: 3px solid;
border-color: inherit;
-webkit-transform:rotate(-5deg);
-moz-transform:rotate(-5deg);
-ms-transform:rotate(-5deg);
-o-transform:rotate(-5deg);
transform:rotate(-5deg);
}
<div class="mydiv">
<div class="strikethrough-100p">123456</div>
</div>
<br>
<div class="mydiv">
<div class="strikethrough-50p">123456</div>
</div>
এবং এখানে একটি অভিনব সংস্করণ:
background:none repeat scroll 0 0 rgba(255, 0, 0, 0.5);
-moz-border-radius:20px 0;
-webkit-border-radius:20px 0;
border-radius:20px 0;
content: "";
height:5px; left:-5%;
position:absolute;
top:30%;
-moz-transform:rotate(-7deg);
-webkit-transform:rotate(-7deg);
transform:rotate(-7deg);
transform-origin:50% 50% 0;
width:110%;
transform
আমার জানা কোনও কোনও এনালগ নেইfilter