web-dev-qa-db-fra.com

<h1>, <h2>, <h3> ... balises, en ligne dans les paragraphes (<p>)

J'essaie d'avoir <hx> balises à l'intérieur des paragraphes, comme:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam pulvinar tincidunt neque, at blandit leo mattis vitae. Cras <h2>placerat</h2> justo vel risus porta cursus. Nullam eget sem nibh. Sed <h3>mattis</h3> facilisis rhoncus. Morbi sit amet nisl lectus.</p>

Mais je reçois toujours un saut de ligne avant chacun d'eux, même en appliquant tout cela, et des combinaisons des déclarations suivantes:

h1, h2, h3, h4, h5, h6 {
display:inline !important;
text-transform:none;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
clear:none;
color:inherit;
margin:0;
padding:0;
}

Alors, que puis-je faire pour que les balises passent inaperçues dans le texte? En ce moment, je reçois quelque chose comme

Lorem ipsum dolor assis amet, élite adipiscing consectetur. Aliquam pulvinar tincidunt neque, chez blandit leo mattis vitae. Cras

placerat justo vel risus porta cursus. Nullam eget sem nibh. Sed

mattis facilisis rhoncus. Morbi sit amet nisl lectus.

Je vous remercie

PS: btw J'utilise le thème du framework blueprint pour drupal.

20
Alextronic

Vous utilisez abusivement les balises d'en-tête .

Tu devrais utiliser <span> balises avec des classes CSS.

I j'ai essayé , et ce qui se passe, c'est que lorsque Firefox voit un <h1> tag à l'intérieur du <p>, il ferme automatiquement le <p> tag. Vous pouvez le voir clairement dans Firebug.

28
SLaks

Placez simplement une balise h2 au début du paragraphe. Par exemple. <p>The p tags are automatically breaking as soon as the html parser reaches the hx tags. if you really want to do this you must close the p tag before the hx tag. then set p and hx to display inline!</p> est le para et nous voulons que la rupture soit automatiquement incluse avec la balise h1.

<p><h2></h2>The p tags are <h1>automatically breaking</h1> as soon as the html parser reaches the hx tags. if you really want to do this you must close the p tag before the hx tag. then set p and hx to display inline!</p>

mais nous ne pouvons pas atteindre le style que nous avons donné à p tag car p tag se casse automatiquement.

Remarque: la balise h1 doit être stylisée comme

h1{ display:inline; !important}
11
user2091539

La balise <p> Ne peut contenir que des éléments en ligne. Les balises d'en-tête sont des éléments de niveau bloc et ne peuvent pas entrer dans les balises <p> Même lorsque vous les stylisez pour afficher en ligne.

Ils sont sémantiquement incorrects étant donné cette utilisation de toute façon - les paragraphes ne devraient pas avoir des en-têtes flottant de manière aléatoire à l'intérieur. Envisagez une bonne utilisation des balises <em> Et <strong>, Ou si ce n'est vraiment pas ce que vous essayez de décrire, utilisez des balises <span> Avec des classes spécifiques.

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam
pulvinartincidunt neque, at blandit leo mattis vitae.
Cras <em>placerat</em> justo vel risus porta cursus. Nullam eget
sem nibh. Sed <strong>mattis</strong> facilisis rhoncus. Morbi sit
amet nisl lectus.</p>
7
meagar

Les balises "H" sont pour les titres, les titres, pour montrer un point de rupture dans un sujet. Les balises "p" servent à contrôler la longueur du texte ensemble, chaque paragraphe séparé recevra un "p". Les balises "span" ne devraient aller qu'à l'intérieur des balises "p", elles sont utilisées pour montrer l'accent dans le paragraphe, mais elles sont limitées en ce qui concerne le style CSS. Malheureusement, vous devez suivre la structure html de ces balises, sinon vous aurez quelque chose de différent sur chaque navigateur.

2
Nox

Les balises p se cassent automatiquement dès que l'analyseur html atteint les balises hx. si vous voulez vraiment le faire, vous devez fermer la balise p avant la balise hx. puis réglez p et hx pour afficher en ligne!

1
AlexMorley-Finch

SLaks a raison. Vous ne devez pas utiliser le titre dans le paragraphe. Cependant, si vous en avez vraiment besoin (au cas où il serait écrit par quelqu'un d'autre). Vous pouvez résoudre le problème en définissant p pour être également en ligne. Ça marchera.

1
NawaMan