उत्पादन:
हैलो क्या हाल है
कोड:
<p>hello <br> How are you </p>
बिना आउटपुट के कैसे प्राप्त करें <br>
?
उत्पादन:
हैलो क्या हाल है
कोड:
<p>hello <br> How are you </p>
बिना आउटपुट के कैसे प्राप्त करें <br>
?
जवाबों:
एक ही HTML संरचना के साथ असंभव, आपके पास Hello
और के बीच अंतर करने के लिए कुछ होना चाहिए How are you
।
मेरा सुझाव है span
कि आप तब ब्लॉक के रूप में प्रदर्शित करेंगे (जैसे <div>
वास्तव में)।
p span {
display: block;
}
<p><span>hello</span><span>How are you</span></p>
<br>
सही मार्कअप है। एक कविता के लिए स्पैन "गलत" होगा।
आप white-space: pre;
तत्वों की तरह काम करने के लिए उपयोग कर सकते हैं <pre>
, जो नई सुर्खियों को बनाए रखता है। उदाहरण:
IE के लिए ध्यान दें कि यह केवल IE8 + में काम करता है।
pre
है pre-line
, जो लपेटने की अनुमति देता है।
white-space
सीएसएस नियम को ट्रिगर नहीं करेगा ।
<br/>
सामान्य के रूप में उपयोग करें , लेकिन display: none
जब आप इसे नहीं चाहते हैं तो इसे छिपाएं ।मैं उम्मीद करूंगा कि यह प्रश्न खोजने वाले अधिकांश लोग सीएसएस / उत्तरदायी डिजाइन का उपयोग यह तय करने के लिए करना चाहते हैं कि एक विशिष्ट स्थान पर लाइन-ब्रेक दिखाई देता है या नहीं। (और कुछ भी व्यक्तिगत नहीं है <br/>
)
तुरंत स्पष्ट नहीं होने पर, आप इसे छिपाने के display:none
लिए वास्तव में एक <br/>
टैग पर आवेदन कर सकते हैं , जो अर्थ बीआर टैग के साथ मीडिया प्रश्नों के उपयोग को सक्षम बनाता है।
<div>
The quick brown fox<br />
jumps over the lazy dog
</div>
@media screen and (min-width: 20em)
{
br
{
display: none; // hide the BR tag for wider screens (i.e. disable the line break)
}
}
यह उत्तरदायी डिजाइन में उपयोगी है जहां आपको एक सटीक ब्रेक पर पाठ को दो पंक्तियों में बाध्य करने की आवश्यकता होती है।
display: none
समाधान अब तक का सबसे उपयुक्त और उपयोगी है।
display: inline-block; width: 1em;
इसके बजाय कुछ का उपयोग कर सकते हैं none
।
<br class='foo'>
और अधिक नियंत्रण की जरूरत है, लेकिन आप भी पागल हो जाना नहीं है , तो आप एक वर्ग लागू कर सकते हैं!
<br/>
यह क्या करता है पर महान है; पहिया को सुदृढ़ करने की आवश्यकता नहीं है। धन्यवाद!
सफेद रिक्त स्थान और लाइन ब्रेक की हैंडलिंग को परिभाषित करने के लिए कई विकल्प हैं। यदि कोई सामग्री को उदाहरण के लिए एक <p>
टैग में रख सकता है, तो जो कुछ भी चाहता है उसे प्राप्त करना बहुत आसान है।
लाइन विराम के संरक्षण के लिए लेकिन सफेद रिक्त स्थान का उपयोग pre-line
नहीं (नहीं pre
) जैसे:
<style>
p {
white-space: pre-line; /* collapse WS, preserve LB */
}
</style>
<p>hello
How are you</p>
यदि कोई अन्य व्यवहार इनमें से किसी एक (WS = व्हाइटस्पेस, LB = LineBreak) में से किसी एक को चुनना चाहता है:
white-space: normal; /* collapse WS, wrap as necessary, collapse LB */
white-space: nowrap; /* collapse WS, no wrapping, collapse LB */
white-space: pre; /* preserve WS, no wrapping, preserve LB */
white-space: pre-wrap; /* preserve WS, wrap as necessary, preserve LB */
white-space: inherit; /* all as parent element */
"\ एक" सीएसएस में आदेश एक गाड़ी वापसी उत्पन्न करता है। यह सीएसएस है, एचटीएमएल नहीं, इसलिए यह जो आप चाहते हैं उसके करीब होगा: कोई अतिरिक्त मार्कअप नहीं ।
एक ब्लॉकचोट में, नीचे दिया गया उदाहरण शीर्षक और स्रोत लिंक दोनों को प्रदर्शित करता है और दोनों को एक गाड़ी वापसी के साथ अलग करता है ( "\a"
):
blockquote[title][cite]:after {
content:attr(title)"\a"attr(cite)
}
display:flex
इस संदर्भ में हैक हैं और इसलिए हैक कर सकते हैं)। यह कल्पना नहीं है, वास्तव में, सिर्फ एक आधुनिक तकनीक है। यदि आप सटीक समान मार्कअप चाहते हैं, लेकिन वास्तव में अलग तरह से प्रतिक्रिया करना चाहते हैं तो जाने का रास्ता।
"
- सरल उद्धरण का उपयोग न करें '
क्योंकि आप \a
विशेष वर्ण के रूप में पार्स करने की अनुमति देना चाहते हैं ।
सीएसएस में कोड का उपयोग करें
p {
white-space: pre-line;
}
इस कोड css के साथ P टैग के अंदर हर एंट्री html में एक ब्रेक-लाइन होगी।
पहले जो कहा गया है, उस पर काम करते हुए, यह एक शुद्ध सीएसएस समाधान है जो काम करता है।
<style>
span {
display: inline;
}
span:before {
content: "\a ";
white-space: pre;
}
</style>
<p>
First line of text. <span>Next line.</span>
</p>
input type='text', wrapping the input, and then laying the text over it with a wrapper
डीव . That also requires
पॉइंटर-ईवेंट के लिए मददगार होने के लिए एक भिन्नता मिली : कोई नहीं; ` :before
नीचे दिए गए बटन को क्लिक करने में सक्षम होने के लिए।
<pre> <---------------------------------------
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
</pre> <--------------------------------------
या
<div style="white-space:pre"> <-----------------------------------
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
</div> <-----------------------------------
एक तत्व बनाने के लिए बाद में एक लाइन ब्रेक है, इसे असाइन करें:
display:block;
ब्लॉक स्तर के तत्व के बाद गैर-फ्लोट किए गए तत्व अगली पंक्ति में दिखाई देंगे। कई तत्व, जैसे <p> और <div> पहले से ही ब्लॉक स्तर के तत्व हैं, इसलिए आप बस उन का उपयोग कर सकते हैं।
लेकिन जबकि यह जानना अच्छा है, यह वास्तव में आपकी सामग्री के संदर्भ पर अधिक निर्भर करता है। अपने उदाहरण में, आप सीएसएस का उपयोग लाइन ब्रेक को मजबूर करने के लिए नहीं करना चाहेंगे। <br /> उपयुक्त है क्योंकि आपके द्वारा प्रदर्शित पाठ के लिए शब्दार्थ पी टैग सबसे उपयुक्त है। सीएसएस को लटकाने के लिए अधिक मार्कअप केवल अनावश्यक है। तकनीकी रूप से यह वास्तव में एक पैराग्राफ नहीं है , लेकिन कोई <ग्रीटिंग> टैग नहीं है, इसलिए जो आपके पास है उसका उपयोग करें। HTMl के साथ अपनी सामग्री का अच्छी तरह से वर्णन करना अधिक महत्वपूर्ण है - जब आपके पास इसके बाद यह पता चले कि इसे सुंदर कैसे बनाया जाए।
यहाँ एक बुरे प्रश्न का एक बुरा हल है, लेकिन एक जो कि संक्षिप्त रूप से मिलता है:
p {
width : 12ex;
}
p:before {
content: ".";
float: right;
padding-left: 6ex;
visibility: hidden;
}
ex
चाहिए? p
और e
कीबोर्ड पर यह बंद नहीं है, इसीलिए मैं पूछ रहा हूँ
अन्य उत्तर स्थिति के आधार पर लाइन ब्रेक जोड़ने के कुछ अच्छे तरीके प्रदान करते हैं। लेकिन यह ध्यान दिया जाना चाहिए कि :after
चयनकर्ता नीचे दिए गए कारणों से लिंक की सूचियों (और इसी तरह की चीजों) पर सीएसएस नियंत्रण के लिए ऐसा करने के बेहतर तरीकों में से एक है ।
यहां एक उदाहरण दिया गया है, सामग्री की एक तालिका मानते हुए:
<style type="text/css">
.toc a:after{ content: "\a"; white-space: pre; }
</style>
<span class="toc">
<a href="#a1">Item A1</a> <a href="#a2">Item A2</a>
<a href="#b1">Item B1</a> <a href="#b2">Item B2</a>
</span>
और यहां साइमन_वेवर की तकनीक है, जो सरल और अधिक संगत है। यह शैली और सामग्री को अलग नहीं करता है, इसके लिए अधिक कोड की आवश्यकता होती है, और ऐसे मामले भी हो सकते हैं जहां आप इस तथ्य के बाद विराम जोड़ना चाहते हैं। अभी भी एक महान समाधान हालांकि, विशेष रूप से पुराने IE के लिए।
<style type="text/css">
.toc br{ display: none; } /* comment out for horizontal links */
</style>
<span class="toc">
<a href="#a1">Item A1</a><br/> <a href="#a2">Item A2</a><br/>
<a href="#b1">Item B1</a><br/> <a href="#b2">Item B2</a><br/>
</span>
उपरोक्त समाधान के लाभों पर ध्यान दें:
pre
)display:block
टिप्पणियाँ)float
या clear
शैली नहीं<br/>
, या pre
हार्ड-कोडित विराम के साथ)a.toc:after
और<a class="toc">
br
टैग को सेट करना display: none
सहायक है, लेकिन तब आप WordRunT पूरी तरह से समाप्त कर सकते हैं। मैंने इसे अंतरिक्ष चरित्र के साथ बदलने के लिए अधिक उपयोगी पाया है, जैसे:
HTML:
<h1>
Breaking<br />News:<br />BR<br />Considered<br />Harmful!
</h1>
सीएसएस:
@media (min-device-width: 1281px){
h1 br {content: ' ';}
h1 br:after {content: ' ';}
}
br
पर भी विचार कर सकते हैं, display: inline-block; width: 1em;
जिसमें क्षैतिज जाने पर शब्दों को एक साथ चलने से रोकना चाहिए।
<pre>
टैग के बारे में कैसे ?
<pre>
ताकि यह लाइन को तोड़ दे। यदि आप नियमित व्हाट्सएप करना चाहते हैं तो क्या होगा?
उदाहरण के लिए, नई पंक्ति में विभाजित होने के लिए आप बहुत सारे पैडिंग और बल पाठ जोड़ सकते हैं
p{
padding-right: 50%;
}
उत्तरदायी डिजाइन के साथ एक स्थिति में मेरे लिए ठीक काम किया, जहां केवल एक निश्चित चौड़ाई सीमा के भीतर पाठ को विभाजित करने की आवश्यकता थी।
आपको सामग्री को भीतर घोषित करने की आवश्यकता है <span class="class_name"></span>
। इसके बाद लाइन टूट जाएगी।
\A
लाइन फ़ीड चरित्र का मतलब है।
.class_name::after {
content: "\A";
white-space: pre;
}
विन्सेंट रॉबर्ट और जॉय एडम्स के जवाब दोनों ही मान्य हैं। यदि आप नहीं चाहते हैं, हालांकि, मार्कअप को बदल दें, तो आप एक <br />
जावास्क्रिप्ट का उपयोग कर सकते हैं ।
मार्कअप को बदलने के बिना सीएसएस में ऐसा करने का कोई तरीका नहीं है।
:after
या :before
कर सकता है।
मुझे लगता है कि आप एक ब्रेकपॉइंट का उपयोग नहीं करना चाहते थे क्योंकि यह हमेशा लाइन को तोड़ देगा। क्या वो सही है? यदि <br />
आपके पाठ में एक ब्रेकपॉइंट जोड़ने के बारे में ऐसा है , तो इसे एक वर्ग दें जैसे कि <br class="hidebreak"/>
मीडिया क्वेरी का उपयोग करके उस आकार के ठीक ऊपर जिसे आप इसे छिपाने के लिए ब्रेक करना चाहते हैं<br />
ताकि यह एक विशिष्ट चौड़ाई पर टूट जाए, लेकिन उस चौड़ाई के ऊपर इनलाइन रहता है।
HTML:
<p>
The below line breaks at 766px.
</p>
<p>
This is the line of text<br class="hidebreak"> I want to break.
</p>
सीएसएस:
@media (min-width: 767px) {
br.hidebreak {display:none;}
}
"Tip: The <br> tag is useful for writing addresses or poems."
मत करो। यदि आप एक हार्ड लाइन ब्रेक चाहते हैं, तो एक का उपयोग करें।
display: block;
।
<br />
तत्व बहुत अच्छे कारण से मौजूद है। यदि आप चाहते हैं कि लाइन विच्छेद हो क्योंकि वे अलग-अलग पैराग्राफ हैं, तो बस उन्हें अलग पैराग्राफ के रूप में चिह्नित करें।