J'ai un gros paragraphe de texte qui est divisé en sous-paragraphes avec <br>
:
<p>
Blah blah blah.
<br/>
Blah blah blah. Blah blah blah. Blah blah blah.
<br/>
Blah blah blah.
</p>
Je veux creuser l'écart entre ces sous-paragraphes, comme s'il y en avait deux <br>
ou quelque chose comme ça. Je sais que la bonne façon de le faire est d'utiliser <p></p>
, mais pour le moment je ne peux pas changer cette disposition, donc je recherche une solution CSS uniquement.
J'ai essayé de régler <br>
des line-height
et height
avec display: block
, j'ai aussi googlé et Stack Overflow-ed brièvement, mais je n'ai trouvé aucune solution. Est-ce même possible sans changer la disposition?
<p>
tags ne peuvent pas contenir de<div>
tags voir cet articleRéponses:
Css:
La solution n'est probablement pas compatible avec tous les navigateurs, mais c'est au moins quelque chose. Pensez également à définir
line-height
:Pour Google Chrome, pensez à définir
content
:En dehors de cela, je pense que vous êtes coincé avec une solution JavaScript.
la source
margin-top: 10px;
content:" "
attribut à ce style et cela fonctionne très bien dans Chromeline-height
. En fin de compte, c'est quelque chose commebr { display:block; margin-top:10px; line-height:22px; }
.margin:10px 0 0
, pour ceux qui ne le veulent pas en double.margin-top: 10px;
n'a toujours pas marché ....Voici la bonne solution qui prend en charge plusieurs navigateurs:
la source
Donc, les coups d'œil ci-dessus ont essentiellement une réponse similaire, mais ici, c'est très succinct. Fonctionne dans Opera, Chrome, Safari et Firefox, probablement IE aussi?
la source
Une autre façon consiste à utiliser un HR . Mais, et voici la partie rusée, rendez-la invisible.
Donc:
Pour faire une pause BR plus propre simulée en utilisant le HR: Btw fonctionne dans tous les navigateurs !!
la source
<p></p>
avec des marges puis détruire un<hr />
Pour autant que je sais
<br>
ne pas avoir une hauteur, elle oblige simplement un saut de ligne. Ce que vous avez est un texte avec des sauts de ligne en plus de ceux qui sont automatiquement encapsulés, pas des sous- paragraphes. Vous pouvez modifier l'espacement des lignes, mais cela affectera toutes les lignes.la source
content
propriété fait l'affaire.Je viens d'avoir ce problème et je l'ai contourné en utilisant
la source
vous pouvez appliquer la hauteur de ligne sur cet
<p>
élément afin que les lignes deviennent plus grandes.la source
<br>
balise, les sauts de ligne forcés seront plus grands que les sauts de ligne enveloppés ...Je n'ai jamais essayé le pseudo-élément
:before
/:after
CSS2 auparavant, principalement parce qu'il n'est pris en charge que dans IE8 (cela concerne les navigateurs IE) . Cela pourrait être la seule solution CSS possible:Voici un exemple sur QuirksMode .
la source
J'ai pensé que vous pourriez utiliser:
Mais cela n'a pas fonctionné sur Chrome ou Firefox.
Je pensais juste mentionner cela au cas où cela arriverait à quelqu'un d'autre et je leur éviterais les ennuis.
la source
Fonctionne dans Firefox, Chrome et Safari. N'ont pas été testés dans Explorer. (La tablette Windows est hors tension.)
Les sauts de ligne et la taille de police fonctionnent différemment dans Firefox et Safari.
la source
Fait intéressant, si la balise break est écrite au format complet comme suit:
puis la hauteur de ligne CSS: 145% fonctionne. Si la balise break est écrite comme suit:
alors cela ne fonctionne pas, au moins dans Chrome, IE et Firefox. Bizarre!
la source
Ce qui fonctionne pour moi, c'est d'ajouter cette ligne entre les balises de paragraphe ... mais pas la meilleure solution.
-------- Éditer ---------
J'ai rencontré des problèmes avec PC / Mac avec cela ... Cela donne au texte la nouvelle hauteur de ligne mais ne fait pas le saut de ligne ... Vous voudrez peut-être faire quelques tests vous-même. Désolé!
la source
Et rappelez-vous que (mal) utiliser la
<hr>
balise comme suggéré quelque part, mettra fin à la<p>
balise, alors oubliez cette solution.Si f.ex. quelque chose est stylisé sur l'environnement
<p>
, ce style a disparu pour le reste du contenu après l'<hr>
insertion du.la source
Voici une solution qui fonctionne dans IE, Firefox et Chrome. L'idée est d'augmenter la taille de police de l'élément br de la taille du corps de 14px à 18px, et d'abaisser l'élément de 4px pour que la taille supplémentaire soit en dessous de la ligne de texte. Le résultat est 4px d'espace supplémentaire en dessous du br.
la source
vertical-align
semble faire l'affaire avec labr
balise. J'ai testé cela sur IE 11.MIS À JOUR LE 13 SEPTEMBRE 2019:
J'utilise
<br class=big>
pour faire une rupture de ligne surdimensionnée, quand j'en ai besoin. Jusqu'à aujourd'hui, je l'ai stylé comme ceci:(Le
vertical-align:top
n'était nécessaire que pour IE et Edge.)Cela a fonctionné dans tous les principaux navigateurs que j'ai essayés: Chrome, Firefox, Opera, Brave, PaleMoon, Edge et IE11.
Cependant, il a récemment cessé de fonctionner dans les navigateurs Chrome : mes «gros» sauts de ligne se sont transformés en sauts de ligne de taille normale.
(Je ne sais pas exactement quand ils l'ont cassé. Au 12 septembre 2019, il fonctionne toujours dans mon Chromium Portable 55.0.2883.11 obsolète, mais il est cassé dans Opera 63.0.3368.71 et Chrome 76.0.3809.132 (les deux Windows et Android).)
Après quelques essais et erreurs, je me suis retrouvé avec le substitut suivant, qui fonctionne dans les versions actuelles de tous ces navigateurs:
Remarques:
line-height:190%
fonctionne dans tout sauf les versions récentes des navigateurs basés sur Chrome.vertical-align:top
est nécessaire pour IE et Edge (en combinaison avecline-height:190%
), pour obtenir l'espace supplémentaire à venir après la ligne précédente, où il appartient, plutôt que partiellement avant et partiellement après.display:block;content:"";margin-top:0.5em
fonctionne dans Chrome, Opera et Firefox, mais pas Edge et IE.Une autre façon (plus simple) d'ajouter un peu d'espace vertical supplémentaire après une
<br>
balise, si cela ne vous dérange pas de modifier le code HTML, est avec quelque chose comme ça. Cela fonctionne bien dans tous les navigateurs:(Vous pouvez, bien sûr, ajuster le "-37%" selon les besoins, pour un écart plus grand ou plus petit.) Voici une page de démonstration qui comprend d'autres variantes sur le thème:
https://burtonsys.com/a_little_extra_vertical_space_for_br_tag.html
28 mai 2020:
J'ai mis à jour la page de démonstration; il montre maintenant toutes les techniques ci-dessus:
https://burtonsys.com/a_little_extra_vertical_space_for_br_tag.html
la source
Michael et yoda ont tous deux raison. Ce que vous pouvez faire est d'utiliser la
<p>
balise, qui, étant une balise de bloc, utilise une marge inférieure pour compenser le bloc suivant, vous pouvez donc faire quelque chose de similaire pour obtenir un espacement plus grand:Une autre alternative consiste à utiliser la
<hr>
balise de bloc , avec laquelle vous pouvez définir explicitement la hauteur de l'espacement.la source
<br />
prendra autant d'espace que la ligne remplie de texte de votre<p>
, vous ne pouvez pas changer cela. Si vous voulez plus grand, cela signifie que vous voulez vous séparer en paragraphe, alors ajoutez-en d'autres<p>
. N'oubliez pas d'être le plus sémantique possible;)la source
vous pouvez également utiliser la propriété "block-quote" en CSS. Cela ferait en sorte que cela n'affecte pas vos lignes individuelles mais vous permet de définir des paramètres pour les sauts entre les paragraphes ou les "guillemets".
MISE À JOUR:
Je me tiens corrigé. "blockquote" est en fait une propriété html. Vous l'utilisez comme <p> et </ p> autour de votre travail. Vous pouvez ensuite définir les paramètres de votre devis de bloc en CSS comme
J'espère que cela t'aides. Il est similaire à la définition des paramètres sur le br et peut être compatible avec plusieurs navigateurs ou non.
la source
Vous ne semblez pas être en mesure de régler la hauteur d'un BR, mais vous pouvez le faire disparaître de manière fiable à l'aide de l'affichage: aucun
Je suis tombé sur cette page lors de la recherche d'une solution aux problèmes suivants:
J'ai une situation où la passerelle de paiement tiers (Worldpay) vous permet uniquement de personnaliser leurs pages de paiement avec 10k max de CSS et HTML (aucun script autorisé) qui sont injectés dans le corps de leur modèle, et après quelques BR, balises FONT, etc. Couplé à leur DTD qui force IE7 / 8 en mode Quirks, cela rend la personnalisation entre les navigateurs aussi difficile que possible!
Désactiver les BR rend les choses beaucoup plus cohérentes ...
la source
J'utilise ces méthodes, mais je ne sais pas si plusieurs navigateurs
================= Méthode 1 ==================
OU
================= Méthode 2 ==================
OU
================= Méthode 3 ==================
la source
Essayez d'utiliser l'
line-height
attribut CSS sur votrep
balise qui contient labr
balise. N'oubliez pas que vous pouvez utiliserid
vosp
balises si vous souhaitez l'isoler, bien qu'il soit préférable d'utiliser undiv
pour l'isolement, l'OMI.la source
Désolé si quelqu'un d'autre l'a déjà dit, mais la solution simple est de jouer avec votre "hauteur de ligne". Si vous obtenez trop d'espace lorsque vous utilisez un saut de ligne, c'est simplement parce que la hauteur de votre ligne est trop élevée. Vous pouvez corriger cela en CSS (mais sachez que cela affectera tout ce qui utilise cette propriété) ou vous pouvez faire un style en ligne pour remplacer le CSS.
la source
J'ai dû développer une solution pour convertir le HTML en PDF et centrer verticalement le texte dans les cellules du tableau, mais rien n'a fonctionné, sauf la saisie en clair
<br>
Donc, en dehors de la boîte, j'ai changé la taille verticale en ajustant la taille de la police (en pt).
la source
Vous devriez le faire en ligne et sur chaque
élément, mais cela devrait fonctionner sur la plupart des navigateurs Fiddle avec la hauteur de ligne pour obtenir l'effet souhaité. Si vous le faites en ligne sur chaque élément, cela devrait fonctionner avec la plupart des navigateurs et des e-mails (mais c'est trop complexe pour en parler ici).
la source
Cela a fait l'affaire pour moi lorsque je n'ai pas pu obtenir l'espacement de style à partir de la balise span:
la source
Utilisation
<div>
Cela permet une nouvelle ligne sans espace vertical.
Cela devient
la source
Répondre à un niveau plus général pour tous ceux qui ont atterri ici car ils corrigent des problèmes d'espacement causés par la
<br>
balise. Je dois faire beaucoup de réinitialisations pour me rapprocher du pixel parfait.Pour le problème spécifique que j'abordais, je devais avoir un espace spécifique entre les lignes. J'ai ajouté une marge en haut et en bas.
la source
Je l'ai fait fonctionner dans IE7 en utilisant un combo de solutions, mais en enveloppant principalement le Br dans DIV comme Nigel et d'autres l'ont suggéré. Ajout de l'ID et exécution sur = "serveur" afin que je puisse supprimer le BR lors de la suppression de la case à cocher de la ligne de cases à cocher.
la source
L'utilisation de deux balises br est la solution la plus simple qui fonctionne avec tous les navigateurs. Mais c'est répétitif.
la source
Que diriez-vous d'ajouter simplement un paragraphe au lieu du saut de ligne comme ça
bla la la bla bla abla la la bla bla abla la la bla bla a
bla la la bla bla abla la la bla bla abla la la bla bla a bla la la bla bla abla la la bla bla abla la la bla bla aEnsuite, vous pouvez spécifier la hauteur de ligne ou le remplissage ou quoi que ce soit pour cela p
la source