Combiner style et contenu n'est pas tabou pour beaucoup. <div style = "border-left: thin solid # 0000ff"> Je n'ai rien à dire et je le dis </div>
ctpenrose
15
@ctpenrose Ce n'est en effet pas tabou mais les séparer est pratique car vous pouvez alors facilement les ajuster au même endroit si nécessaire. Le placer également dans un fichier CSS séparé est meilleur pour les performances car il peut être mis en cache par le navigateur et vous finissez par transmettre moins d'octets sur le câble chaque fois que vous demandez le HTML rendu.
Kris van der Mast
235
Vous pouvez utiliser la balise de règle horizontale pour créer des lignes verticales.
Giulio car il ne divise pas réellement l'écran en deux colonnes. encore une fois, vous devez utiliser du personnel css pour le résultat souhaité, tout comme div.
Ismail Sahin
J'aime mieux cela car cela évite l'étrangeté d'avoir un div caché avec seulement un côté de celui-ci ayant une bordure visible. Certes, ce n'est pas la façon dont vous utilisez normalement les heures, mais cela a toujours plus de sens pour moi.
levininja
71
Vous pouvez utiliser un vide <div>dont le style est exactement comme vous voulez que la ligne apparaisse:
HTML:
<divclass="vertical-line"></div>
Avec hauteur exacte (style prioritaire en ligne):
div.vertical-line{width:1px;/* Line width */background-color: black;/* Line color */height:100%;/* Override in-line if you want specific height. */float: left;/* Causes the line to float to left of content.
You can instead use position:absolute or display:inline-block
if this fits better with your design */}
Excellente astuce pour obtenir le même style que la ligne standard <hr>. Probablement aussi besoin de style supplémentaire à flotter sur le côté du contenu ( par exemple: float:left;)
crainte
Cette règle "verticale" sépare toujours les éléments (texte) verticalement en tant que règle horizontale normale.
Qwerty
20
Il n'y a pas d'équivalent vertical à l' <hr>élément. Cependant, une approche que vous voudrez peut-être essayer est d'utiliser une simple bordure à gauche ou à droite de tout ce que vous séparez:
* Vous devrez peut-être jouer un peu avec, display:inline-block|inlinecar inlineil ne se développera pas pour contenir la hauteur de l'élément. Utilisez la marge pour centrer la ligne dans un conteneur.
Triste au sujet des limites, mais cela semble vraiment, vraiment utile dans d'autres endroits.
Smar
Il ne remplit pas toutes les tailles de div, comment réparer?
Otávio Barreto du
1
@ OtávioBarreto Vous devrez peut-être jouer avec la displaypropriété commentée . Réglez-le sur inlineou inline-block. Voir les notes ci-dessus et l'exemple d'URL.
Qwerty
9
Une autre option consiste à utiliser une image à 1 pixel et à définir la hauteur - cette option vous permettrait de la faire flotter là où vous devez être.
J'ai simplement changé la valeur de la valeur de pixel "gauche" pour la positionner. (J'ai utilisé la ligne verticale pour aligner le contenu de ma page Web, puis je l'ai supprimé.)
Pour créer une ligne verticale centrée à l'intérieur d'un div, je pense que vous pouvez utiliser ce code. Le «conteneur» pourrait bien avoir une largeur de 100%, je suppose.
Si votre objectif est de placer des lignes verticales dans un conteneur pour séparer les éléments enfants côte à côte (éléments de colonne), vous pouvez envisager de styliser le conteneur comme ceci:
Cela ajoute une bordure gauche à tous les éléments enfants à partir du 2ème enfant. En d'autres termes, vous obtenez des bordures verticales entre les enfants adjacents.
>est un sélecteur d'enfant. Il correspond à tout enfant des éléments spécifiés à gauche.
*est un sélecteur universel. Il correspond à un élément de tout type.
:not(:first-child) signifie que ce n'est pas le premier enfant de son parent.
Je pense que c'est mieux qu'une .child-except-first {border-left: ...}règle simple , car il est plus logique que les lignes verticales proviennent des règles du conteneur, pas des règles des différents éléments enfants.
Que ce soit mieux que d'utiliser un élément de règle verticale de fortune (en stylisant une règle horizontale, etc.) dépendra de votre cas d'utilisation, mais c'est au moins une alternative.
<svgheight="210"width="500"><linex1="0"y1="0"x2="0"y2="100"style="stroke:rgb(255,0,0);stroke-width:2"/>
Sorry, your browser does not support inline SVG.
</svg>
Avantages :
Vous pouvez avoir une ligne de n'importe quelle longueur et orientation.
Vous pouvez spécifier la largeur, la couleur facilement
Les inconvénients :
Les SVG sont désormais pris en charge sur la plupart des navigateurs modernes. Mais certains anciens navigateurs (comme IE 8 et les versions antérieures) ne le prennent pas en charge.
<divstyle="width:50%"><divstyle="border-right:1px solid;"><ul><li>
Empty div didn't shows line
</li><li>
Vertical line length depends on the content in the div
</li><li>
Here I am using inline style. You can replace it by external style or internal style.
</li></ul></div></div>
<divstyle="width:50%"><divstyle="border-left:1px solid;"><ul><li>
Empty div didn't shows line
</li><li>
Vertical line length depends on the content in the div
</li><li>
Here I am using inline style. You can replace it by external style or internal style.
</li></ul></div></div>
La propriété width détermine l'épaisseur de la ligne. La propriété height détermine la longueur de la ligne. La propriété background-color détermine la couleur de la ligne.
<vr>
Réponses:
Placez un
<div>
autour du balisage à l'endroit où vous souhaitez que la ligne apparaisse ensuite, et utilisez CSS pour le styliser:la source
Vous pouvez utiliser la balise de règle horizontale pour créer des lignes verticales.
En utilisant une largeur minimale et une grande taille, la règle horizontale devient verticale.
la source
display:inline-block
sinon il ne se placera pas bien à côté des autres éléments en ligne.Vous pouvez utiliser un vide
<div>
dont le style est exactement comme vous voulez que la ligne apparaisse:HTML:
Avec hauteur exacte (style prioritaire en ligne):
Stylisez la bordure si vous voulez un look 3D:
Vous pouvez bien sûr également expérimenter avec des combinaisons avancées:
la source
Vous pouvez également créer une ligne verticale en utilisant une ligne horizontale HTML
<hr />
la source
<hr>
. Probablement aussi besoin de style supplémentaire à flotter sur le côté du contenu ( par exemple:float:left;
)Il n'y a pas d'équivalent vertical à l'
<hr>
élément. Cependant, une approche que vous voudrez peut-être essayer est d'utiliser une simple bordure à gauche ou à droite de tout ce que vous séparez:la source
Éléments personnalisés HTML5 (ou CSS pur)
1. javascript
Enregistrez votre élément.
* Le
-
est obligatoire dans tous les éléments personnalisés.2. css
* Vous devrez peut-être jouer un peu avec,
display:inline-block|inline
carinline
il ne se développera pas pour contenir la hauteur de l'élément. Utilisez la marge pour centrer la ligne dans un conteneur.3. instancier
* Malheureusement, vous ne pouvez pas créer de balises à fermeture automatique personnalisées.
usage
exemple: http://html5.qry.me/vertical-rule
Vous ne voulez pas jouer avec javascript?
Appliquez simplement cette classe CSS à votre élément désigné.
css
* Voir les notes ci-dessus.
la source
display
propriété commentée . Réglez-le surinline
ouinline-block
. Voir les notes ci-dessus et l'exemple d'URL.Une autre option consiste à utiliser une image à 1 pixel et à définir la hauteur - cette option vous permettrait de la faire flotter là où vous devez être.
Ce n'est pas la solution la plus élégante.
la source
Vous pouvez dessiner une ligne verticale en utilisant simplement hauteur / largeur avec n'importe quel élément html.
la source
Il n'y a pas de balise pour créer une ligne verticale en HTML.
Méthode: vous chargez une image de ligne. Ensuite, vous définissez son style comme
"height: 100px ; width: 2px"
Méthode: vous pouvez utiliser des
<td>
balises<td style="border-left: 1px solid red; padding: 5px;"> X </td>
la source
Vous pouvez utiliser la balise hr (ligne horizontale) et la faire pivoter de 90 degrés avec css ci-dessous
http://jsfiddle.net/haykaghabekyan/0c969bm6/1/
la source
J'ai utilisé une combinaison du code "h" suggéré, et voici à quoi ressemble mon code:
J'ai simplement changé la valeur de la valeur de pixel "gauche" pour la positionner. (J'ai utilisé la ligne verticale pour aligner le contenu de ma page Web, puis je l'ai supprimé.)
la source
Pour créer une ligne verticale centrée à l'intérieur d'un div, je pense que vous pouvez utiliser ce code. Le «conteneur» pourrait bien avoir une largeur de 100%, je suppose.
la source
Pourquoi ne pas utiliser & # 124, qui est le caractère spécial html pour |
la source
Si votre objectif est de placer des lignes verticales dans un conteneur pour séparer les éléments enfants côte à côte (éléments de colonne), vous pouvez envisager de styliser le conteneur comme ceci:
Cela ajoute une bordure gauche à tous les éléments enfants à partir du 2ème enfant. En d'autres termes, vous obtenez des bordures verticales entre les enfants adjacents.
>
est un sélecteur d'enfant. Il correspond à tout enfant des éléments spécifiés à gauche.*
est un sélecteur universel. Il correspond à un élément de tout type.:not(:first-child)
signifie que ce n'est pas le premier enfant de son parent.Prise en charge du navigateur: > *: premier enfant et : non ()
Je pense que c'est mieux qu'une
.child-except-first {border-left: ...}
règle simple , car il est plus logique que les lignes verticales proviennent des règles du conteneur, pas des règles des différents éléments enfants.Que ce soit mieux que d'utiliser un élément de règle verticale de fortune (en stylisant une règle horizontale, etc.) dépendra de votre cas d'utilisation, mais c'est au moins une alternative.
la source
Une autre approche est possible: utiliser SVG .
par exemple :
Avantages :
Les inconvénients :
la source
Ligne verticale jusqu'à la div
Ligne verticale à gauche du div
la source
Pour ajouter une ligne verticale, vous devez styliser une heure.
Maintenant, lorsque vous tracez une ligne verticale, elle apparaîtra au milieu de la page:
Maintenant, pour le mettre où vous voulez, vous pouvez utiliser ce code:
Cela le positionnera à gauche, vous pouvez l'inverser pour le positionner à droite.
la source
Il y a une
<hr>
balise pour la ligne horizontale. Il peut être utilisé avec CSS pour créer également une ligne horizontale:La propriété width détermine l'épaisseur de la ligne. La propriété height détermine la longueur de la ligne. La propriété background-color détermine la couleur de la ligne.
la source
Dans l'élément précédent après lequel vous souhaitez appliquer la ligne verticale, vous pouvez définir CSS ...
la source
Rotation de
<hr>
90 degrés:la source
Pour un style en ligne, j'ai utilisé ce code:
et qui l'a positionné directement au centre.
la source
J'avais besoin d'une ligne verticale en ligne, alors j'ai trompé un bouton pour qu'il devienne une ligne.
la source
Cela a très bien fonctionné pour moi
la source
Pour que la ligne verticale soit centrée au milieu, utilisez:
la source