sortie :
hello
How are you
code :
<p>hello <br> How are you </p>
Comment obtenir le même résultat sans <br>
?
sortie :
hello
How are you
code :
<p>hello <br> How are you </p>
Comment obtenir le même résultat sans <br>
?
Impossible avec la même structure HTML, vous devez avoir quelque chose pour distinguer entre Hello
y How are you
.
Je suggère d'utiliser span
que vous afficherez ensuite sous forme de blocs (tout comme un fichier de type <div>
en fait).
p span {
display: block;
}
<p><span>hello</span><span>How are you</span></p>
Notez également le montant de la majoration supplémentaire - la <br />
existe pour une très bonne raison. Si vous voulez un saut de ligne parce qu'il s'agit de paragraphes séparés, il suffit de les marquer comme tels.
Vous pouvez avoir besoin de lignes structurées sans utiliser réellement de paragraphes. Pour baliser un poème, une chanson ou une adresse par exemple
C'est vrai, mais un poème est l'exemple canonique pour quand <br>
est le balisage correct. Les portées d'un poème seraient "fausses".
Pour en savoir plus sur les différences entre pré-ligne et pré-enveloppe, voir developer.mozilla.org/fr/US/docs/Web/CSS/white-space
<br/>
comme d'habitude, mais le cacher avec display: none
quand vous ne le voulez pas.Je pense que la plupart des personnes qui se posent cette question veulent utiliser le css / responsive design pour décider si un saut de ligne apparaît ou non à un endroit spécifique. (et n'ont rien de personnel contre <br/>
)
Bien que ce ne soit pas immédiatement évident, vous pouvez en fait appliquer display:none
à un <br/>
pour le masquer, ce qui permet d'utiliser des requêtes média en tandem avec des balises BR sémantiques.
<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) */
}
}
Cette fonction est utile dans le cadre d'un design réactif, lorsque vous devez forcer le texte à s'inscrire sur deux lignes à un point de rupture précis.
Simon, vous avez raison - l'exemple que vous citez est exactement la raison pour laquelle j'ai cherché à répondre à cette question et l'exemple que vous avez donné. display: none
est de loin la plus appropriée et la plus utile.
Notez que pour les cas où cela ferait courir les mots ensemble, vous pouvez utiliser quelque chose comme display: inline-block; width: 1em;
au lieu de none
.
Vous pourriez même appliquer une classe à l <br class='foo'>
si vous avez besoin de plus de contrôle, mais ne soyez pas trop fou !
Il existe plusieurs options pour définir le traitement des espaces blancs et des sauts de ligne. Si l'on peut mettre le contenu dans, par exemple, un fichier de type <p>
tag il est assez facile d'obtenir ce que l'on veut.
Para préserver les sauts de ligne mais pas les espaces blancs utiliser pre-line
(pas pre
) comme dans :
<style>
p {
white-space: pre-line; /* collapse WS, preserve LB */
}
</style>
<p>hello
How are you</p>
Si vous souhaitez un autre comportement, choisissez l'une de ces options (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 */
El " \a " en CSS génère un retour chariot. Il s'agit de CSS, pas de HTML, donc cela devrait être plus proche de ce que vous voulez : pas de majoration supplémentaire .
Dans un blockquote
Dans l'exemple ci-dessous, vous affichez à la fois le titre et le lien source et vous séparez les deux par un retour chariot ( "\a"
):
blockquote[title][cite]:after {
content:attr(title)"\a"attr(cite)
}
+1 parce qu'il s'agit uniquement d'une CSS et qu'il n'est pas recommandé d'utiliser les balises pre, br ou de changer le mode d'affichage en bloc (ce qui ajoute un comportement différent, qui pourrait être interrompu si le parent est en display:flex
et est donc un hack dans ce contexte). Ce n'est pas très compliqué, c'est juste une technique moderne. Si vous voulez exactement le même balisage, mais qu'il réagisse différemment, c'est la voie à suivre.
Une idée brillante. Notez le "
- n'utilisez pas de guillemets simples '
parce que vous voulez permettre à la \a
pour être analysé comme un caractère spécial.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.