çıktı:
Merhaba Nasılsın
kod:
<p>hello <br> How are you </p>
Aynı çıktıyı nasıl elde edebilirim <br>
?
çıktı:
Merhaba Nasılsın
kod:
<p>hello <br> How are you </p>
Aynı çıktıyı nasıl elde edebilirim <br>
?
Yanıtlar:
Aynı HTML yapısına sahip İmkansız mı ayırt şey olmalı Hello
ve How are you
.
Daha span
sonra blok olarak göstereceğiniz s'yi kullanmanızı öneririm (tıpkı bir <div>
gerçek gibi ).
<br>
doğru biçimlendirmenin ne zaman olduğu için kanonik bir örnektir . Bir şiir için açıklıklar “yanlış” olacaktır.
Yeni satırları koruyan white-space: pre;
öğelerin gibi davranmasını sağlamak için kullanabilirsiniz <pre>
. Misal:
IE için bunun yalnızca IE8 + 'da çalıştığını unutmayın.
pre
olduğu pre-line
, hangi kaydırması sağlar.
white-space
CSS kuralını tetiklemeyecek aynı satıra yerleştirileceğinden bunun tepki ile çalışmadığını unutmayın .
<br/>
Normal olarak kullanın , ancak display: none
istemediğinizde gizleyin .Bu soruyu bulan çoğu insanın belirli bir yerde satır sonu görünüp görünmeyeceğine karar vermek için css / Responsive design kullanmak istiyor. (ve kişisel bir şeyiniz yok <br/>
)
Hemen belirgin olmasa da, aslında display:none
bir <br/>
etikete gizlemek için uygulayabilirsiniz , bu da medya sorgularının semantik BR etiketleriyle birlikte kullanılmasını sağlar.
<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)
}
}
Bu, metni kesin bir şekilde iki satıra zorlamanız gereken duyarlı tasarımda kullanışlıdır.
display: none
çözüm açık ara en uygun ve kullanışlı.
display: inline-block; width: 1em;
yerine bir şey kullanabileceğinizi unutmayın none
.
<br class='foo'>
fazla kontrole ihtiyaç duyuyorsanız bir sınıf bile uygulayabilirsiniz, ancak çok delirmeyin!
<br/>
yaptığı işte harikadır; tekerleği yeniden icat etmeye gerek yok. Teşekkürler!
Beyaz boşlukların ve satır kesmelerinin işlenmesini tanımlamak için birkaç seçenek vardır. İçeriği örneğin bir <p>
etikete koyabilirse, istediği her şeyi elde etmek oldukça kolaydır.
Satır sonlarını korumak, ancak beyaz boşlukları korumak için aşağıdaki gibi kullanın pre-line
(değil pre
):
<style>
p {
white-space: pre-line; /* collapse WS, preserve LB */
}
</style>
<p>hello
How are you</p>
Başka bir davranış isteniyorsa, bunlardan birini seçin (WS = WhiteSpace, 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 */
CSS'deki "\ a" komutu bir satır başı oluşturur. Bu HTML değil CSS'dir, bu yüzden istediğiniz şeye daha yakın olacaktır: ekstra işaretleme yok .
Bir blok alıntıda, aşağıdaki örnek hem başlığı hem de kaynak bağlantısını görüntüler ve ikisini bir satır başı ( "\a"
) ile ayırır :
blockquote[title][cite]:after {
content:attr(title)"\a"attr(cite)
}
display:flex
bu bağlamda bir hack ise kırılabilir ). Fantezi değil, gerçekten, sadece modern bir teknik. Tam olarak aynı işaretlemeyi istiyorsanız, ancak aslında farklı tepki vermek için bu yol.
"
- Basit tırnak kullanmayın '
izin vermek istediğiniz çünkü \a
özel bir karakter olarak çözümlenen almak.
CSS'de kodu kullanın
p {
white-space: pre-line;
}
Bu kod css ile P etiketi içindeki her giriş html'de bir kesme çizgisi olacaktır.
Daha önce söylenenlere dayanarak, bu işe yarayan saf bir CSS çözümüdür.
<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
div . That also requires
işaretçisi olaylarına yardımcı olması için bir varyasyon buldum : none; `` üzerinde :before
hala aşağıdaki düğmeyi tıklayabilmek için.
<pre> <---------------------------------------
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
</pre> <--------------------------------------
VEYA
<div style="white-space:pre"> <-----------------------------------
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
</div> <-----------------------------------
Bir öğenin daha sonra satır sonu yapmasını sağlamak için öğeyi atayın:
display:block;
Bir blok seviyesi öğesinden sonra kayan elemanlar sonraki satırda görünecektir. <p> ve <div> gibi birçok öğe zaten blok düzeyinde öğelerdir, böylece bunları kullanabilirsiniz.
Ancak bunu bilmek iyi olsa da, bu gerçekten içeriğinizin içeriğine bağlıdır. Örneğin, satır kesmeye zorlamak için CSS kullanmak istemezsiniz. <br /> uygundur, çünkü anlamsal olarak p etiketi görüntülemekte olduğunuz metin için en uygun etikettir. Sadece CSS'yi asmak için daha fazla işaretleme gerekli değildir. Teknik olarak tam olarak bir paragraf değil , ancak <greeting> etiketi yok, bu yüzden sahip olduklarınızı kullanın. İçeriğinizi HTMl ile iyi tanımlamak çok daha önemlidir - buna sahip olduktan sonra nasıl güzel görüneceğini anlayın.
İşte kötü bir soruya kötü bir çözüm, ama kelimenin tam anlamıyla özeti karşılayan bir çözüm:
p {
width : 12ex;
}
p:before {
content: ".";
float: right;
padding-left: 6ex;
visibility: hidden;
}
ex
? p
ve e
klavyede o kadar da yakın değilim, bu yüzden soruyorum
Diğer yanıtlar, duruma bağlı olarak satır sonları eklemenin bazı iyi yollarını sunar. Ancak, :after
seçicinin, aşağıda belirtilen nedenlerden dolayı, bağlantı listeleri (ve benzer şeyler) üzerinde CSS kontrolü için bunu yapmanın daha iyi yollarından biri olduğuna dikkat edilmelidir .
İçindekiler tablosunu varsayarak bir örnek:
<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>
Ve işte Simon_Weaver'ın tekniği, daha basit ve daha uyumlu. Stil ve içeriği o kadar fazla ayırmaz, daha fazla kod gerektirir ve bundan sonra ara vermek istediğiniz durumlar olabilir. Yine de, özellikle eski IE için harika bir çözüm.
<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>
Yukarıdaki çözümlerin avantajlarına dikkat edin:
pre
)display:block
yorumlarına bakın)float
veya clear
stiller<br/>
veya pre
sabit kodlu kopmalarla)a.toc:after
ve kullanarak gevşek bağlantılar için de kullanılabilir.<a class="toc">
br
Etiketi ayarlamadisplay: none
yardımcı olur, ancak daha sonra WordsRunTogether ile sonuçlanabilir. Bunun yerine bir boşluk karakteriyle değiştirmeyi daha yararlı buldum:
HTML:
<h1>
Breaking<br />News:<br />BR<br />Considered<br />Harmful!
</h1>
CSS:
@media (min-device-width: 1281px){
h1 br {content: ' ';}
h1 br:after {content: ' ';}
}
br
için display: inline-block; width: 1em;
yatay giderken birlikte çalışmasını kelimeleri önlemek hangi.
<pre>
Etikete ne dersin ?
<pre>
çizgi kırmak. Düzenli beyaz alanlara sahip olmak istiyorsanız ne olur?
Çok fazla dolgu ekleyebilir ve metni yeni satıra bölünmeye zorlayabilirsiniz, örneğin
p{
padding-right: 50%;
}
Duyarlı tasarıma sahip bir durumda benim için iyi çalıştı, sadece belirli bir genişlik aralığında metnin bölünmesi gerekiyordu.
İçindeki içeriği bildirmeniz gerekiyor <span class="class_name"></span>
. Ondan sonra hat kesilecek.
\A
satır besleme karakteri anlamına gelir.
.class_name::after {
content: "\A";
white-space: pre;
}
Vincent Robert ve Joey Adams'ın cevapları geçerlidir. Bununla birlikte, işaretlemeyi değiştirmek istemiyorsanız,<br />
javascript kullanarak .
İşaretlemeyi değiştirmeden CSS'de yapmanın bir yolu yoktur.
:after
veya kullanabilirsiniz :before
.
Sanırım bir kesme noktası kullanmak istemediniz çünkü her zaman çizgiyi kıracak. Bu doğru mu? Eğer öyleyse <br />
, metninize bir kesme noktası eklemeye ne dersiniz , o zaman ona bir sınıf verin ve <br class="hidebreak"/>
ardından medya sorgusunu kullanarak<br />
belirli bir genişlikte ancak bu genişliğin üstünde kalmaya devam edecek verin.
HTML:
<p>
The below line breaks at 766px.
</p>
<p>
This is the line of text<br class="hidebreak"> I want to break.
</p>
CSS:
@media (min-width: 767px) {
br.hidebreak {display:none;}
}
"Tip: The <br> tag is useful for writing addresses or poems."
Yapma. Sabit satır sonu istiyorsanız, birini kullanın.
display: block;
.
<br />
eleman çok iyi bir nedenden dolayı var. Satır kesmesini ayrı paragraflar oldukları için istiyorsanız, bunları ayrı paragraflar olarak işaretlemeniz yeterlidir.