production:
Bonjour Comment ça va
code:
<p>hello <br> How are you </p>
Comment obtenir la même sortie sans <br>
?
Impossible avec la même structure HTML, vous devez avoir quelque chose à distinguer entre Hello
et How are you
.
Je suggère d'utiliser span
s que vous afficherez ensuite sous forme de blocs (comme un en <div>
fait).
<br />
élément existe pour une très bonne raison. Si vous voulez le saut de ligne parce que ce sont des paragraphes séparés, marquez-les simplement comme des paragraphes séparés.<br>
est le bon balisage. L'envergure d'un poème serait «fausse».Vous pouvez utiliser
white-space: pre;
pour que les éléments agissent comme<pre>
, ce qui préserve les retours à la ligne. Exemple:Notez pour IE que cela ne fonctionne que dans IE8 +.
la source
pre
estpre-line
, ce qui permet l' emballage.white-space
règle CSS.Utilisez
<br/>
comme d'habitude, mais cachez-le avecdisplay: none
quand vous ne le voulez pas.Je m'attends à ce que la plupart des personnes qui trouvent cette question souhaitent utiliser 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 cela ne soit pas immédiatement évident, vous pouvez réellement appliquer
display:none
à une<br/>
balise pour la masquer, ce qui permet l'utilisation de requêtes multimédias en tandem avec des balises BR sémantiques.Ceci est utile dans la conception réactive où vous devez forcer le texte en deux lignes à la rupture exacte.
http://jsfiddle.net/nNbD3/1/
la source
display: none
solution est de loin la plus appropriée et la plus utile.display: inline-block; width: 1em;
au lieu denone
.<br class='foo'>
si vous aviez besoin de plus de contrôle mais ne devenez pas trop fou!<br/>
est excellent dans ce qu'il fait; pas besoin de réinventer la roue. Merci!Il existe plusieurs options pour définir la gestion des espaces blancs et des sauts de ligne. Si l'on peut mettre le contenu par exemple dans une
<p>
balise, il est assez facile d'obtenir tout ce que l'on veut.Pour conserver les sauts de ligne mais pas les espaces blancs, utilisez
pre-line
(paspre
) comme dans:Si un autre comportement est souhaité, choisissez parmi l'un d'eux (WS = WhiteSpace, LB = LineBreak):
SOURCE: Écoles W3
la source
La commande "\ a" en CSS génère un retour chariot. C'est du CSS, pas du HTML, donc il sera plus proche de ce que vous voulez: pas de balisage supplémentaire .
Dans un blockquote, l'exemple ci-dessous affiche à la fois le titre et le lien source et séparez les deux par un retour chariot (
"\a"
):la source
display:flex
et est donc un hack dans ce contexte). Ce n'est pas une fantaisie, vraiment, juste une technique moderne. Si vous voulez exactement le même balisage, mais que vous réagissez différemment, c'est la voie à suivre."
- n'utilisez pas de guillemets simples'
parce que vous voulez permettre au\a
pour être analysé en tant que caractère spécial.Au CSS utiliser le code
Avec ce code css, chaque entrée à l'intérieur de la balise P sera une ligne de rupture au html.
la source
S'appuyant sur ce qui a été dit précédemment, il s'agit d'une solution CSS pure qui fonctionne.
la source
input type='text', wrapping the input, and then laying the text over it with a wrapper
div sur plusieurs lignes. That also requires
: aucun; `sur:before
afin de pouvoir toujours cliquer sur le bouton ci-dessous.OU
source: https://stackoverflow.com/a/36191199/2377343
la source
Pour qu'un élément ait un saut de ligne par la suite, affectez-le:
display:block;
Les éléments non flottants après un élément de niveau bloc apparaîtront sur la ligne suivante. De nombreux éléments, tels que <p> et <div> sont déjà des éléments de niveau bloc, vous pouvez donc simplement les utiliser.
Mais bien que cela soit bon à savoir, cela dépend vraiment davantage du contexte de votre contenu. Dans votre exemple, vous ne voudriez pas utiliser CSS pour forcer un saut de ligne. Le <br /> est approprié car sémantiquement la balise p est la plus appropriée pour le texte que vous affichez. Plus de balisage juste pour suspendre CSS, c'est inutile. Techniquement, ce n'est pas exactement un paragraphe, mais il n'y a pas de balise <greeting>, alors utilisez ce que vous avez. Bien décrire votre contenu avec HTMl est beaucoup plus important - après avoir cela, alors découvrez comment le rendre joli.
la source
Voici une mauvaise solution à une mauvaise question, mais qui répond littéralement au mémoire:
la source
ex
être?p
ete
ne sont pas si proches du clavier, c'est pourquoi je demandeex
est définie comme «égale à la hauteur x utilisée de la première police disponible».Pour une liste de liens
Les autres réponses fournissent de bons moyens d'ajouter des sauts de ligne, selon la situation. Mais il convient de noter que le
:after
sélecteur est l'un des meilleurs moyens de le faire pour le contrôle CSS des listes de liens (et des choses similaires), pour les raisons indiquées ci-dessous.Voici un exemple, en supposant une table des matières:
Et voici la technique de Simon_Weaver, qui est plus simple et plus compatible. Il ne sépare pas autant le style et le contenu, nécessite plus de code et il peut y avoir des cas où vous souhaitez ajouter des sauts après coup. Pourtant, c'est une excellente solution, en particulier pour les anciens IE.
Notez les avantages des solutions ci-dessus:
pre
)display:block
commentaires )float
ouclear
styles affectant le contenu environnant<br/>
, oupre
avec des pauses codées en dur)a.toc:after
et<a class="toc">
la source
Peut-être que quelqu'un aura le même problème que moi:
J'étais dans un élément avec
display: flex
donc je devais l'utiliserflex-direction: column
.la source
Définition d'une
br
balise surdisplay: none
est utile, mais vous pouvez vous retrouver avec WordsRunTogether. Je l'ai trouvé plus utile de le remplacer par un espace, comme ceci:HTML:
CSS:
la source
br
à cedisplay: inline-block; width: 1em;
qui devrait empêcher les mots de courir ensemble lors du passage horizontal.Et le
<pre>
tag?source: http://www.w3schools.com/tags/tag_pre.asp
la source
<pre>
afin qu'il brise la ligne. Et si vous voulez avoir des espaces blancs réguliers?Vous pouvez ajouter beaucoup de remplissage et forcer le texte à être divisé en nouvelle ligne, par exemple
A bien fonctionné pour moi dans une situation avec un design réactif, où seulement dans une certaine plage de largeur, il fallait que le texte soit divisé.
la source
J'aime les solutions très simples, voici la plus
et css
la source
Utilisez overflow-wrap: break-word; comme :
la source
Vous devez déclarer le contenu à l'intérieur
<span class="class_name"></span>
. Après cela, la ligne sera rompue.\A
signifie caractère de saut de ligne.la source
Les réponses de Vincent Robert et Joey Adams sont valides. Si vous ne souhaitez cependant pas modifier le balisage, vous pouvez simplement insérer un
<br />
utilisant javascript.Il n'y a aucun moyen de le faire en CSS sans changer le balisage.
la source
:after
ou:before
pour cela.Dans mon cas, j'avais besoin d'un bouton d'entrée pour avoir un saut de ligne avant.
J'ai appliqué le style suivant au bouton et cela a fonctionné:
la source
Au cas où cela aiderait quelqu'un ...
Vous pouvez faire ceci:
Avec ce css:
la source
.on-new-line:before {content: ""; display: block;}
L'utilisation
au lieu d'espaces empêchera une pause.la source
Cela fonctionne dans Chrome:
la source
Je suppose que vous ne vouliez pas utiliser un point d'arrêt, car cela rompra toujours la ligne. Est-ce exact? Si c'est le cas, que diriez-vous d'ajouter un point d'arrêt
<br />
dans votre texte, puis de lui donner une classe comme celle d'<br class="hidebreak"/>
utiliser la requête multimédia juste au-dessus de la taille que vous souhaitez qu'il casse pour masquer le<br />
afin qu'il se casse à une largeur spécifique mais reste en ligne au-dessus de cette largeur.HTML:
CSS:
https://jsfiddle.net/517Design/o71yw5vd/
la source
"Tip: The <br> tag is useful for writing addresses or poems."
Le code peut être
CSS serait
la source
Non. Si vous voulez un saut de ligne dur, utilisez-en un.
la source
display: block;
.