Combinar estilo con contenido no es tabú para muchos. <div style = "border-left: thin solid # 0000ff"> No tengo nada que decir y lo digo </div>
ctpenrose
15
@ctpenrose De hecho, no es un tabú, pero separarlos es útil, ya que puede ajustarse fácilmente en un lugar si es necesario. Además, ponerlo en un archivo CSS separado es mejor para el rendimiento, ya que puede ser almacenado en caché por el navegador y terminas transmitiendo menos bytes por cable cada vez que solicitas el HTML renderizado.
Kris van der Mast
235
Puede usar la etiqueta de regla horizontal para crear líneas verticales.
Bravo, señor. Ese es un truco genial. Todavía necesita configurarlo para display:inline-blockque, de lo contrario, no se sienta bien junto a otros elementos en línea.
Alex W
2
Sin embargo, no creo que esto funcione en Firefox. La línea está allí, pero no parece ser visible ...
Giulio porque en realidad no divide la pantalla en dos columnas. Una vez más, debe utilizar parte del personal de CSS para obtener el resultado deseado, al igual que Div.
Ismail Sahin
Me gusta más porque evita la extrañeza de tener un div oculto con solo un lado que tiene un borde visible. De acuerdo, no es la forma en que normalmente usas las horas, pero todavía tiene más sentido para mí.
levininja
71
Puede usar un espacio vacío con el <div>mismo estilo que desea que aparezca la línea:
HTML:
<divclass="vertical-line"></div>
Con altura exacta (estilo superior en línea):
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 */}
Gran truco para obtener un estilo de línea igual al estándar <hr>. Probablemente también necesitará más de estilo a flotar en el lado del contenido (ejemplo: float:left;)
asombro
Esta regla "vertical" todavía separa elementos (texto) verticalmente como regla horizontal normal.
Qwerty
20
No hay equivalente vertical para el <hr>elemento. Sin embargo, un enfoque que puede intentar es utilizar un borde simple a la izquierda o derecha de lo que esté separando:
* Es posible que deba jugar un poco display:inline-block|inlineporque inlineno se expandirá a la altura del elemento contenedor. Use el margen para centrar la línea dentro de un contenedor.
Triste por las limitaciones, pero esto se ve muy, muy útil en otros lugares.
Smar
No llena todo el tamaño div ¿cómo solucionarlo?
Otávio Barreto
1
@ OtávioBarreto Es posible que deba jugar con la displaypropiedad comentada . Póngalo en inlineo inline-block. Consulte las notas anteriores y la URL de ejemplo.
Qwerty
9
Otra opción es usar una imagen de 1 píxel y establecer la altura; esta opción le permitiría flotar a donde necesita estar.
Simplemente cambié el valor del valor de píxel "izquierdo" para posicionarlo. (Usé la línea vertical para alinear contenido en mi página web, y luego lo eliminé).
Si su objetivo es poner líneas verticales en un contenedor para separar elementos secundarios (elementos de columna), puede considerar diseñar el contenedor de esta manera:
Esto agrega un borde izquierdo a todos los elementos secundarios a partir del segundo elemento secundario. En otras palabras, obtienes bordes verticales entre los niños adyacentes.
>es un selector de niños. Coincide con cualquier elemento secundario de los elementos especificados a la izquierda.
*Es un selector universal. Coincide con un elemento de cualquier tipo.
:not(:first-child) significa que no es el primer hijo de su padre.
Creo que esto es mejor que un simple .child-except-first {border-left: ...} regla, porque tiene más sentido que las líneas verticales provengan de las reglas del contenedor, no de las reglas de los diferentes elementos secundarios.
Si esto es mejor que usar un elemento de regla vertical improvisado (al diseñar una regla horizontal, etc.) dependerá de su caso de uso, pero al menos esta es una alternativa.
<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>
Pros:
Puede tener una línea de cualquier longitud y orientación.
Puede especificar el ancho, color fácilmente
Contras :
SVG ahora es compatible con la mayoría de los navegadores modernos. Pero algunos navegadores antiguos (como IE 8 y versiones anteriores) no lo admiten.
<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 propiedad de ancho determina el grosor de la línea. La propiedad de altura determina la longitud de la línea. La propiedad de color de fondo determina el color de la línea.
<vr>
Respuestas:
Coloque un
<div>
marcado alrededor del lugar donde desea que aparezca la línea a continuación y use CSS para darle estilo:fuente
Puede usar la etiqueta de regla horizontal para crear líneas verticales.
Al usar un ancho mínimo y un gran tamaño, la regla horizontal se convierte en vertical.
fuente
display:inline-block
que, de lo contrario, no se sienta bien junto a otros elementos en línea.Puede usar un espacio vacío con el
<div>
mismo estilo que desea que aparezca la línea:HTML:
Con altura exacta (estilo superior en línea):
Diseñe el borde si desea un aspecto 3D:
Por supuesto, también puede experimentar con combinaciones avanzadas:
fuente
También puede hacer una línea vertical usando la línea horizontal HTML
<hr />
fuente
<hr>
. Probablemente también necesitará más de estilo a flotar en el lado del contenido (ejemplo:float:left;
)No hay equivalente vertical para el
<hr>
elemento. Sin embargo, un enfoque que puede intentar es utilizar un borde simple a la izquierda o derecha de lo que esté separando:fuente
Elementos personalizados HTML5 (o CSS puro)
1. javascript
Registra tu elemento.
* El
-
es obligatorio en todos los elementos personalizados.2. css
* Es posible que deba jugar un poco
display:inline-block|inline
porqueinline
no se expandirá a la altura del elemento contenedor. Use el margen para centrar la línea dentro de un contenedor.3. instanciar
* Desafortunadamente no puedes crear etiquetas personalizadas de cierre automático.
uso
ejemplo: http://html5.qry.me/vertical-rule
¿No quieres meterte con JavaScript?
Simplemente aplique esta clase CSS a su elemento designado.
css
* Ver notas arriba.
fuente
display
propiedad comentada . Póngalo eninline
oinline-block
. Consulte las notas anteriores y la URL de ejemplo.Otra opción es usar una imagen de 1 píxel y establecer la altura; esta opción le permitiría flotar a donde necesita estar.
Sin embargo, no es la solución más elegante.
fuente
Puede dibujar una línea vertical simplemente usando la altura / anchura con cualquier elemento html.
fuente
No hay ninguna etiqueta para crear una línea vertical en HTML.
Método: carga una imagen de línea. Luego estableces su estilo como
"height: 100px ; width: 2px"
Método: puedes usar
<td>
etiquetas<td style="border-left: 1px solid red; padding: 5px;"> X </td>
fuente
Puede usar la etiqueta hr (línea horizontal) y luego rotarla 90 grados con css a continuación
http://jsfiddle.net/haykaghabekyan/0c969bm6/1/
fuente
Utilicé una combinación del código "hr" sugerido, y así es como se ve mi código:
Simplemente cambié el valor del valor de píxel "izquierdo" para posicionarlo. (Usé la línea vertical para alinear contenido en mi página web, y luego lo eliminé).
fuente
Para crear una línea vertical centrada dentro de un div, creo que puedes usar este código. El 'contenedor' bien puede ser del 100% de ancho, supongo.
fuente
¿Por qué no usar & # 124, que es el carácter especial html para |
fuente
Si su objetivo es poner líneas verticales en un contenedor para separar elementos secundarios (elementos de columna), puede considerar diseñar el contenedor de esta manera:
Esto agrega un borde izquierdo a todos los elementos secundarios a partir del segundo elemento secundario. En otras palabras, obtienes bordes verticales entre los niños adyacentes.
>
es un selector de niños. Coincide con cualquier elemento secundario de los elementos especificados a la izquierda.*
Es un selector universal. Coincide con un elemento de cualquier tipo.:not(:first-child)
significa que no es el primer hijo de su padre.Soporte del navegador: > *: primer hijo y : no ()
Creo que esto es mejor que un simple
.child-except-first {border-left: ...}
regla, porque tiene más sentido que las líneas verticales provengan de las reglas del contenedor, no de las reglas de los diferentes elementos secundarios.Si esto es mejor que usar un elemento de regla vertical improvisado (al diseñar una regla horizontal, etc.) dependerá de su caso de uso, pero al menos esta es una alternativa.
fuente
Es posible un enfoque más: usar SVG .
p.ej :
Pros:
Contras :
fuente
Línea vertical derecha al div
Línea vertical izquierda al div.
fuente
Para agregar una línea vertical necesita diseñar un hr.
Ahora, cuando haces una línea vertical, aparecerá en el medio de la página:
Ahora, para ponerlo donde quieras, puedes usar este código:
Esto lo colocará a la izquierda, puede invertirlo para colocarlo a la derecha.
fuente
Hay una
<hr>
etiqueta para la línea horizontal. Se puede usar con CSS para hacer una línea horizontal también:La propiedad de ancho determina el grosor de la línea. La propiedad de altura determina la longitud de la línea. La propiedad de color de fondo determina el color de la línea.
fuente
En el elemento Anterior después del cual desea aplicar la fila vertical, puede establecer CSS ...
fuente
Girar
<hr>
90 grados:fuente
Para un estilo en línea utilicé este código:
y eso lo colocó directamente en el centro.
fuente
Necesitaba una línea vertical en línea, así que engañé un botón para que se convirtiera en una línea.
fuente
Esto funciono muy bien para mi
fuente
Para hacer que la línea vertical se centre en el medio use:
fuente