दिलचस्प पोस्ट
जावास्क्रिप्ट के साथ एक सीएसएस मूल्य प्राप्त करें समवर्ती सुधार के बिना-प्रत्येक लूप का उपयोग करते हुए एक संग्रह को कैसे संशोधित करें? रिक्त स्थान के साथ वातावरण चर कैसे सेट करें? आईओएस में बैटरी जीवन की गणना करना पोर्ट 80 सिस्टम (पीआईडी ​​4) द्वारा उपयोग किया जा रहा है, यह क्या है? कैसे! = और == ऑपरेटर जावा में इंटीजर्स पर काम करते हैं? बिना किसी क्रमबद्ध सरणी के आधार पर क्रमबद्ध सरणी को संसाधित करना क्यों तेज़ है? मैं एक निश्चित मूल्य के साथ एक स्टाइल वेक्टर से एक आइटम कैसे निकालूं? मोंगो डीबी में, आप अपने इंडेक्स से सरणी तत्व कैसे निकाल सकते हैं jquery के साथ HTML स्ट्रिंग पार्स करें मैं jQuery एनीमेशन का उपयोग कर पृष्ठभूमि की छवि कैसे बदलूं? रैंक 2 टाइप्स का उद्देश्य क्या है? Greasemonkey से पेज और इसके विपरीत में चर तक पहुंच सी स्ट्रिंग स्थिरांक को संशोधित करना? स्प्रिंग बूट बाकी सेवा अपवाद हैंडलिंग

सीमा लंबाई को सीमित करने का कोई भी तरीका?

सीमा की लंबाई को सीमित करने का कोई तरीका क्या है? मेरे पास <div> एक बॉर्डर सीमा है, लेकिन मैं <div> की बाईं ओर एक सीमा जोड़ना चाहता हूँ जो केवल आधे रास्ते को फैलाता है।

क्या पेज पर अतिरिक्त तत्व जोड़कर ऐसा करने का कोई तरीका है?

वेब के समाधान से एकत्रित समाधान "सीमा लंबाई को सीमित करने का कोई भी तरीका?"

उम्मीद है की यह मदद करेगा:

 #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; } 

(ध्यान दें – content: ""; छद्म तत्व को रेंडर करने के लिए घोषणा आवश्यक है)

:after चट्टानों के :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; } 
 #menu > ul > li { position: relative; float: left; padding: 0 10px; list-style: none; } #menu > ul > li + li:after { content: ""; background: #ccc; position: absolute; bottom: 25%; left: 0; height: 50%; width: 1px; } 
 <div id="menu"> <ul> <li>Foo</li> <li>Bar</li> <li>Baz</li> </ul> </div> 

क्षैतिज लाइनों के लिए आप एचआर टैग का उपयोग कर सकते हैं:

 hr { width: 90%; } 

लेकिन सीमा ऊंचाई को सीमित करने के लिए संभव नहीं है केवल तत्व ऊंचाई

सीएसएस संपत्तियों के साथ, हम केवल सीमा की मोटाई को नियंत्रित कर सकते हैं; लंबाई नहीं

हालांकि हम सीमा प्रभाव की नकल कर सकते हैं और अपनी width और height को नियंत्रित कर सकते हैं क्योंकि हम कुछ अन्य तरीकों से चाहते हैं।

सीएसएस (रैयनियर ग्रेडियंट) के साथ:

हम linear-gradient() का उपयोग पृष्ठभूमि छवि (इमेज) बना सकते हैं और उसके आकार को नियंत्रित कर सकते हैं और सीएसएस के साथ स्थिति बना सकते हैं ताकि यह सीमा की तरह लग जाए जैसा कि हम एक तत्व के लिए कई पृष्ठभूमि छवियों को लागू कर सकते हैं, हम छवियों की तरह कई सीमाएं बनाने और तत्व के विभिन्न पक्षों पर लागू करने के लिए हम इस सुविधा का उपयोग कर सकते हैं। हम कुछ ठोस रंग, ढाल या पृष्ठभूमि छवि के साथ शेष उपलब्ध क्षेत्र को भी कवर कर सकते हैं।

आवश्यक HTML:

हमें केवल एक तत्व ही है (संभवतः कुछ कक्षाएं हैं)।

 <div class="box"></div> 

कदम:

  1. linear-gradient() साथ पृष्ठभूमि छवियां बनाएं
  2. उपरोक्त छवियों की width / height समायोजित करने के लिए background-size का उपयोग करें ताकि यह सीमा की तरह दिखाई दे।
  3. उपरोक्त बनाई गई सीमा (सीमाओं) की स्थिति समायोजित करने के लिए 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 ie 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() हम ठोस रंग की सीमाओं के साथ ही साथ ग्रेडियेंट बना सकते हैं। नीचे इस विधि के साथ बनाई सीमा के कुछ उदाहरण हैं।

केवल एक तरफ लागू सीमा के साथ उदाहरण:

 .container { display: flex; } .box { background-image: linear-gradient(purple, purple), linear-gradient(steelblue, steelblue); background-repeat: no-repeat; background-size: 4px 50%, calc(100% - 4px) 100%; background-position: left bottom, 4px 0; height: 160px; width: 160px; margin: 20px; } .gradient-border { background-image: linear-gradient(red, purple), linear-gradient(steelblue, steelblue); } 
 <div class="container"> <div class="box"></div> <div class="box gradient-border"></div> </div> 

बॉर्डर्स केवल प्रति तरफ परिभाषित होते हैं, न कि एक तरफ के अंशों में। तो, नहीं, आप ऐसा नहीं कर सकते

इसके अलावा, एक नया तत्व किसी सीमा तक नहीं होगा, यह केवल आपके व्यवहार की नकल करेगा – लेकिन यह अभी भी एक तत्व होगा

यह एक सीएसएस चाल है, औपचारिक समाधान नहीं है। मैं अवधि को काले रंग के साथ छोड़ देता हूं क्योंकि यह मुझे तत्व की स्थिति में मदद करता है। इसके बाद, अपनी सामग्री (रंग: सफ़ेद) और (मार्जिन-शीर्ष: -5 पीएक्स या इतने) रंगों को रंगाने के लिए करें, जैसे कि अवधि वहां नहीं है।

 div.yourdivname:after { content: "."; border-bottom:1px solid grey; width:60%; display:block; margin:0 auto; } 

एक और समाधान है कि आप एक पृष्ठभूमि की छवि का इस्तेमाल बाएं सीमा के नज़रिए को मिमिक करने के लिए कर सकते हैं

  1. एक ग्राफिक के रूप में आवश्यक सीमा-बायां शैली बनाएं
  2. इसे अपने डिवेल के बहुत बाईं ओर स्थित करें (पुरानी ब्राउज़रों के लिए लगभग दो पाठ आकार बढ़ाना)
  3. अपने div के शीर्ष से ऊर्ध्वाधर स्थिति 50% सेट करें

आपको IE के लिए (हमेशा की तरह) के लिए ज़ूम करने की आवश्यकता हो सकती है, लेकिन यह एक शॉट के लायक है अगर यह वह डिज़ाइन है जिसके लिए आप जा रहे हैं।

  • मैं आम तौर पर कुछ ऐसी छवियों का उपयोग कर रहा हूँ जो सीएसएस स्वाभाविक रूप से प्रदान करता है, लेकिन कभी-कभी अगर डिज़ाइन की ज़रूरत होती है, तो इसका कोई दूसरा रास्ता नहीं है।

आप केवल एक सीमा प्रति पक्ष परिभाषित कर सकते हैं। आपको इसके लिए एक अतिरिक्त तत्व जोड़ना होगा!

ऐसा करने का एक अन्य तरीका रेखीय-ढाल के साथ संयोजन में सीमा-छवि का उपयोग कर रहा है।

 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>