जवाबों:
उम्मीद है की यह मदद करेगा:
#mainDiv {
height: 100px;
width: 80px;
position: relative;
border-bottom: 2px solid #f51c40;
background: #3beadc;
}
#borderLeft {
border-left: 2px solid #f51c40;
position: absolute;
top: 50%;
bottom: 0;
}
<div id="mainDiv">
<div id="borderLeft"></div>
</div>
सीएसएस उत्पन्न सामग्री आपके लिए इसे हल कर सकती है:
div {
position: relative;
}
/* Main div for border to extend to 50% from bottom left corner */
div:after {
content: "";
background: black;
position: absolute;
bottom: 0;
left: 0;
height: 50%;
width: 1px;
}
<div>Lorem Ipsum</div>
(ध्यान दें - content: "";घोषणा प्रस्तुत करने के लिए छद्म तत्व के लिए आवश्यक है)
:afterचट्टानों :)
यदि आप थोड़ा सा खेलते हैं, तो आप अपने रिसाइज्ड बॉर्डर एलिमेंट को भी सेंटर्ड दिखाने के लिए सेट कर सकते हैं या केवल तब ही दिखाई दे सकते हैं जब इसके आगे एक और एलिमेंट हो (जैसे मेन्यू में)। यहाँ एक मेनू के साथ एक उदाहरण है:
#menu > ul > li {
position: relative;
float: left;
padding: 0 10px;
}
#menu > ul > li + li:after {
content:"";
background: #ccc;
position: absolute;
bottom: 25%;
left: 0;
height: 50%;
width: 1px;
}
CSS गुणों के साथ, हम केवल सीमा की मोटाई को नियंत्रित कर सकते हैं; लंबाई नहीं।
हालाँकि हम सीमा के प्रभाव की नकल कर सकते हैं और इसे नियंत्रित कर सकते हैं widthऔर heightजैसा कि हम कुछ अन्य तरीकों से चाहते हैं।
हम linear-gradient()एक पृष्ठभूमि छवि बनाने के लिए उपयोग कर सकते हैं और सीएसएस के साथ इसके आकार और स्थिति को नियंत्रित कर सकते हैं ताकि यह एक सीमा जैसा दिखे। जैसा कि हम एक तत्व के लिए कई पृष्ठभूमि छवियों को लागू कर सकते हैं, हम इस सुविधा का उपयोग छवियों की तरह कई सीमा बनाने और तत्व के विभिन्न पक्षों पर लागू कर सकते हैं। हम शेष उपलब्ध क्षेत्र को कुछ ठोस रंग, ढाल या पृष्ठभूमि छवि के साथ भी कवर कर सकते हैं।
आवश्यक HTML:
हमें केवल एक तत्व की आवश्यकता है (संभवतः कुछ वर्ग)।
<div class="box"></div>
कदम:
linear-gradient()।background-sizeसमायोजित करने के लिए width/ heightऊपर बनाया छवि (ओं) इतना है कि यह एक सीमा की तरह लग रहा है।background-positionस्थिति (जैसे समायोजित करने के लिए left, right, left bottomबनाया सीमा से ऊपर (ओं) का आदि)।आवश्यक सीएसएस:
.box {
background-image: linear-gradient(purple, purple),
// Above css will create background image that looks like a border.
linear-gradient(steelblue, steelblue);
// This will create background image for the container.
background-repeat: no-repeat;
/* First sizing pair (4px 50%) will define the size of the border i.e border
will be of having 4px width and 50% height. */
/* 2nd pair will define the size of stretched background image. */
background-size: 4px 50%, calc(100% - 4px) 100%;
/* Similar to size, first pair will define the position of the border
and 2nd one for the container background */
background-position: left bottom, 4px 0;
}
उदाहरण:
साथ linear-gradient()हम ठोस रंग की सीमाओं के साथ-साथ होने ढ़ाल बना सकते हैं। नीचे इस पद्धति के साथ बनाई गई सीमा के कुछ उदाहरण दिए गए हैं।
केवल एक तरफ लागू सीमा के साथ उदाहरण:
दो पक्षों पर लागू सीमा के साथ उदाहरण:
सभी पक्षों पर लागू सीमा के साथ उदाहरण:
स्क्रीनशॉट:
क्षैतिज लाइनों के लिए आप hr टैग का उपयोग कर सकते हैं:
hr { width: 90%; }
लेकिन इसकी सीमा की ऊंचाई को सीमित करना संभव नहीं है। केवल तत्व ऊंचाई।
height। एक टीडी टैग उपयोग में सेल बॉर्डर को बदलने के लिए <td>your content<hr/></td>।
ऐसा करने का एक और तरीका एक रेखीय-ढाल के साथ संयोजन में सीमा-छवि का उपयोग कर रहा है।
div {
width: 100px;
height: 75px;
background-color: green;
background-clip: content-box; /* so that the background color is not below the border */
border-left: 5px solid black;
border-image: linear-gradient(to top, #000 50%, rgba(0,0,0,0) 50%); /* to top - at 50% transparent */
border-image-slice: 1;
}
<div></div>
jsfiddle: https://jsfiddle.net/u7zq0amc/1/
ब्राउज़र का समर्थन: IE: 11+
क्रोम: सभी
फ़ायरफ़ॉक्स: 15+
एक बेहतर समर्थन के लिए वेंडर उपसर्ग भी जोड़ें।
यह एक सीएसएस ट्रिक है, औपचारिक समाधान नहीं। मैं कोड को काले रंग की अवधि के साथ छोड़ देता हूं क्योंकि यह मुझे तत्व को स्थिति में लाने में मदद करता है। बाद में, अपनी सामग्री (रंग: सफेद) और (मार्जिन-टॉप: -5 पीएक्स या तो) को रंग दें ताकि यह सुनिश्चित हो सके कि अवधि नहीं है।
div.yourdivname:after {
content: ".";
border-bottom:1px solid grey;
width:60%;
display:block;
margin:0 auto;
}
एक और उपाय यह है कि आप बाईं सीमा के रूप की नकल करने के लिए एक पृष्ठभूमि छवि का उपयोग कर सकते हैं
आपको IE के लिए (सामान्य रूप से) के लिए tweak करने की आवश्यकता हो सकती है, लेकिन यह एक शॉट के लायक है अगर यह वह डिज़ाइन है जिसके लिए आप जा रहे हैं।