391 votes

Comment faire une ligne verticale en HTML

Comment créez-vous une ligne verticale en utilisant HTML ?

69 votes

Ne pourriez pas le W3 simplement être plus intelligent et ajouter une spécification pour

588voto

XIII Points 8731

Entourez le markup où vous voulez que la ligne apparaisse avec un

, et utilisez CSS pour le styler :

.verticalLine {
  border-left: thick solid #ff0000;
}

  some other content

3 votes

Combler le style avec le contenu n'est pas tabou pour beaucoup.

Je n'ai rien à dire et je le dis

19 votes

@ctpenrose Ce n'est en effet pas tabou mais les séparer est pratique car vous pouvez facilement ajuster en un seul endroit si nécessaire. De plus, le placer dans un fichier CSS séparé est mieux pour les performances car il peut être mis en cache par le navigateur et vous finissez par transmettre moins d'octets sur le réseau chaque fois que vous demandez l'HTML rendu.

1 votes

C'est une façon de le faire, mais vous finissez presque toujours par obtenir quelque chose comme : ul.page_cp > li:not(:first-child) { ...

273voto

Anthony Points 751

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 une règle verticale.

11 votes

Bravo, monsieur. C'est un tour cool. Il faut encore le paramétrer sur display:inline-block sinon il ne se mettra pas bien à côté des autres éléments en ligne.

2 votes

Je ne pense pas que cela fonctionne dans Firefox, cependant. La ligne est là, mais ne semble pas être visible...

2 votes

Merci pour ce code. Voici un exemple de travail jsfiddle de ce jsfiddle.net/ccatto/c8RQc

81voto

awe Points 9697

Vous pouvez utiliser un

vide qui est stylé exactement comme vous souhaitez que la ligne apparaisse :

HTML:

Avec une hauteur exacte (en remplaçant le style en ligne) :

  div.vertical-line{
      width: 1px; /* Largeur de la ligne */
      background-color: black; /* Couleur de la ligne */
      height: 100%; /* Remplacer en ligne si vous voulez une hauteur spécifique */
      float: left; /* Fait flotter la ligne à gauche du contenu.
        Vous pouvez plutôt utiliser position:absolute ou display:inline-block
        si cela correspond mieux à votre design */
    }

Stylisez la bordure si vous voulez un effet 3D :

    div.vertical-line{
      width: 0px; /* Utiliser uniquement le style de bordure */
      height: 100%;
      float: left; 
      border: 1px inset; /* C'est le style de bordure par défaut pour la balise  */
    }

Vous pouvez bien sûr aussi expérimenter avec des combinaisons avancées :

  div.vertical-line{
      width: 1px;
      background-color: silver;
      height: 100%;
      float: left;
      border: 2px ridge silver ;
      border-radius: 2px;
    }

2 votes

+1 cette solution est bonne car elle est facilement personnalisable pour différents besoins

33voto

Ishan Jain Points 3087

Vous pouvez également créer une ligne verticale en utilisant la balise de ligne horizontale HTML


html, body{height: 100%;}

hr.vertical {
  width: 0px;
  height: 100%;
  /* ou hauteur en PX */
}

2 votes

Super astuce pour obtenir une ligne stylisée de la même manière que le standard`

. Il faut probablement aussi ajouter un style supplémentaire pour la faire flotter sur le côté du contenu (exemple :float:left;`).

0 votes

Ce règle "verticale" sépare toujours les éléments (textuels) verticalement comme une règle horizontale normale.

21voto

Daniel Vassallo Points 142049

Il n'existe pas d'équivalent vertical à l'élément


. Cependant, une approche que vous pouvez essayer est d'utiliser une simple bordure à gauche ou à droite de ce que vous séparez :

#your_col {
  border-left: 1px solid black;
}

  Votre contenu ici

Prograide.com

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.

Powered by:

X