मुझे ऐसा लगता है कि मैंने एक तत्व से पहले लाइन ब्रेक टैग डालने के लिए, सीएसएस सामग्री संपत्ति का उपयोग करते हुए एक रास्ता देखा। जाहिर है कि यह काम नहीं करता है:
#restart:before { content: '<br/>'; }
लेकिन आप यह कैसे करते हैं?
मुझे ऐसा लगता है कि मैंने एक तत्व से पहले लाइन ब्रेक टैग डालने के लिए, सीएसएस सामग्री संपत्ति का उपयोग करते हुए एक रास्ता देखा। जाहिर है कि यह काम नहीं करता है:
#restart:before { content: '<br/>'; }
लेकिन आप यह कैसे करते हैं?
जवाबों:
यह psuedo- तत्व उत्पन्न सामग्री में \A बच अनुक्रम का उपयोग करना संभव है। CSS2 कल्पना में अधिक पढ़ें ।
#restart:before { content: '\A'; }
आपको भी जोड़ना पड़ सकता white-space:pre;है #restart।
नोट: \Aएक पंक्ति के अंत को दर्शाता है।
ps होने का एक और इलाज
:before { content: ' '; display: block; }
#restartकरना चाहिएdisplay: inline;
:before { content: ' '; display: block; }इसके बजाय इस्तेमाल किया।
inline-blockतत्वों के साथ काम नहीं करता है। वे बस अगली पंक्ति पर नहीं जाएंगे। केवल समाधान वास्तव <div></div>में HTML में एक खाली जोड़ना था ।
यदि #restartकोई इनलाइन तत्व (जैसे <span>, <em>आदि) है, तो आप इसका उपयोग करके एक ब्लॉक तत्व में बदल सकते हैं:
#restart { display: block; }
यह तत्व से पहले और बाद दोनों में एक लाइन ब्रेक सुनिश्चित करने का प्रभाव होगा।
वहाँ कुछ है कि एक लाइन ब्रेक की तरह काम करता डालने सीएसएस करने के लिए एक तरीका नहीं है केवल एक तत्व पहले और बाद में नहीं। आप शायद अन्य परिवर्तनों के साइड-इफेक्ट के रूप में पहले एक लाइन-ब्रेक का कारण बन सकते हैं, उदाहरण के लिए float: left, या clear: leftएक फ़्लोट किए गए तत्व के बाद, या यहां तक कि कुछ पागल जैसा भी हो #restart:before { content: 'a load of non-breaking spaces'; }लेकिन यह सामान्य मामले में एक अच्छा विचार नहीं है।
float: leftतत्व कुछ काम का हो सकता है, क्योंकि वे सिकुड़ जाते हैं और एक नई रेखा पर शुरू होते हैं। अन्यथा, आप जो चाहते हैं वह संभव नहीं हो सकता है।
यह मेरे लिए काम करता है:
#restart:before {
content: ' ';
clear: right;
display: block;
}
बस छद्म तत्व से पहले एक यूनिकोड न्यूलाइन वर्ण डालें:
#restart:before { content: '\00000A'; }
निम्नलिखित सीएसएस ने मेरे लिए काम किया:
/* newline before element */
#myelementId:before{
content:"\a";
white-space: pre;
}
content: 'bar: \a' attr(data-description);
सीएसएस के माध्यम से उत्पन्न सामग्री को जोड़ने के दो कारण हैं, जैसे आप चाहते हैं:
उत्पन्न सामग्री सामग्री को स्वीकार करती है और मार्कअप नहीं। मार्कअप का मूल्यांकन नहीं किया जाएगा, लेकिन केवल प्रदर्शित किया जाएगा।
:beforeऔर :afterउत्पन्न सामग्री को तत्व के भीतर जोड़ा जाता है, इसलिए यहां तक कि एक स्थान या अक्षर को जोड़ने और इसे परिभाषित करने से blockकाम नहीं चलेगा।
एक ::outsideछद्म तत्व है जो वह कर सकता है जो आप चाहते हैं। हालाँकि, कोई ब्राउज़र समर्थन नहीं प्रतीत होता है। (यहां पढ़ें: http://www.w3.org/TR/css3-content/#wrapping )
सर्वश्रेष्ठ शर्त यहां jQuery के एक बिट का उपयोग करें:
$('<br />').insertBefore('#restart');
हां, पूरी तरह से संभव है लेकिन यह निश्चित रूप से कुल हैक है (ऐसे कोड लिखने के लिए लोग आपको गंदे लग सकते हैं)।
यहाँ HTML है:
<div>lorem ipdum dolor sit <span id="restart">amit e pluribus unum</span></div>
यहाँ सीएसएस है:
#restart:before { content: 'hiddentext'; font-size:0; display:block; line-height:0; }
यहाँ फिडेल है: http://jsfiddle.net/AprNY/
निम्नलिखित आज़माएँ:
#restart::before {
content: '';
display: block;
}
मेरे पास पहले से ब्रेक डालने के साथ कोई भाग्य नहीं था: पहले। मेरा समाधान एक वर्ग के साथ एक स्पैन जोड़ना और स्पैन के अंदर ब्रेक लगाना था। फिर कक्षा को प्रदर्शित करने के लिए बदलें: कोई नहीं; या प्रदर्शन: आवश्यकतानुसार ब्लॉक करें।
एचटीएमएल
<div>
<span class="ItmQty"><br /></span>
<span class="otherclass">
<asp:Label ID="QuantityLabel" runat="server" Text="Qty: ">
</asp:Label>
</span>
<div class="cartqty">
<asp:TextBox ID="QuantityTextBox" runat="server" Text='<%# Bind("Quantity","{0:#}") %>' Width="50"></asp:TextBox>
</div>
</div>
सीएसएस
@media only screen and (min-width: 854px)
{
.ProjItmQty
{
display: block;
clear: both;
}
}
@media only screen and (min-width: 1003px)
{
.ProjItmQty
{
display: none;
}
}
उम्मीद है की यह मदद करेगा।
आप अपनी सामग्री में एक पंक्ति विराम के लिए पूर्व-एन्कोडेड एचटीएमएल इकाई का उपयोग भी कर सकते हैं और इसका समान प्रभाव पड़ेगा।
body * { line-height: 127%; }
p:after { content: "\A "; display: block; white-space: pre; }
https://www.w3.org/TR/CSS2/generate.html#x18 The Content Proerty, "newlines" ... p मूल ब्लॉक के अंदर p के अंत में मार्जिन और पैडिंग नहीं जोड़ेगा (उदाहरण के लिए, body ›अनुभाग) पी)। "\" ए लाइन ब्रेक बलों लाइन स्पेस, समकक्ष स्टाइल लाइन-ऊंचाई।
एक जोड़े margin-top:20px;के लिए #restart। या जो भी आकार अंतर आपको उचित लगे। यदि यह इनलाइन-एलीमेंट है, तो आपको IE के पुराने संस्करणों पर काम करने display:blockया जोड़ने की display:inline-blockआवश्यकता नहीं होगी inline-block।
मैन्युअल रूप से लाइन ब्रेक को किसी तरह जोड़ने के बजाय, आप कार्यान्वित कर सकते हैं border-bottom: 1px solid #ff0000जो तत्व की सीमा को ले जाएगा और border-<side>जो भी आप निर्दिष्ट करते हैं, केवल उसी को प्रस्तुत करें।
<br>, नहीं <hr>।