Modelo de cuadro: borde de CSS
- Página anterior Márgen interna CSS
- Página siguiente Márgen externa CSS
El borde del elemento (border) es una línea o líneas alrededor del contenido del elemento y el margen interno.
El atributo border de CSS permite especificar el estilo, anchura y color del borde del elemento.
Borde CSS
En HTML, usamos tablas para crear bordes alrededor del texto, pero mediante la utilización de las propiedades de borde de CSS, podemos crear bordes excelentes y aplicárselos a cualquier elemento.
El borde del elemento (border) está dentro del margen externo del elemento y es una línea o líneas alrededor del contenido del elemento y el margen interno.
Cada borde tiene tres aspectos: anchura, estilo y color. A continuación, le explicaremos estos tres aspectos en detalle.
Borde y fondo
La especificación de CSS indica que el borde se dibuja 'sobre el fondo del elemento'. Esto es importante porque algunos bordes son 'intermitentes' (por ejemplo, el borde punteado o el borde discontinuo), y el fondo del elemento debe aparecer entre las partes visibles del borde.
CSS2 indica que el fondo se extiende solo hasta el margen interno, no hasta el borde. Luego, CSS2.1 corrigió esto: el fondo del elemento es el fondo del contenido, el margen interno y la zona del borde. La mayoría de los navegadores siguen la definición de CSS2.1, aunque algunos navegadores más antiguos pueden tener un comportamiento diferente.
Estilo del borde
Es uno de los aspectos más importantes del borde, no porque el estilo controle la visualización del borde (por supuesto, el estilo realmente controla la visualización del borde), sino porque sin estilo, no habría borde.
El estilo de CSS Atributo border-styleSe definen 10 estilos diferentes no heredados, incluyendo 'none'.
Por ejemplo, puede definir el borde de una imagen para que sea 'saliente', haciendo que se vea como un 'botón emergente':
a:link img {border-style: outset;}
Definir varios estilos
Puede definir múltiples estilos para un borde, por ejemplo:
p.aside {border-style: solid dotted dashed double;}
La regla superior define cuatro estilos de borde para los párrafos con el nombre de clase 'aside': borde superior sólido, borde derecho punteado, borde inferior discontinuo y borde izquierdo doble.
Vemos aquí otra vez que el valor adopta el orden de top-right-bottom-left, y también hemos visto este orden al discutir la configuración de múltiples valores para diferentes márgenes internos.
Definir estilo de lado
Si desea establecer el estilo del borde de un lado del cuadro de elemento en lugar de establecer el estilo del borde de todos los cuatro lados, puede usar las propiedades de borde de lado único a continuación:
Por lo tanto, estos dos métodos son equivalentes:
p {border-style: solid solid solid none;} p {border-style: solid; border-left-style: none;}
Nota:Si desea usar el segundo método, debe colocar el atributo de un lado después del atributo abreviado. Porque si coloca el atributo de un lado antes de border-style, el valor del atributo abreviado cubrirá el valor del atributo de un lado none.
Ancho del borde
Puede establecer Atributo border-widthEspecificar el ancho del borde.
Hay dos métodos para especificar el ancho del borde: puede especificar un valor de longitud, como 2px o 0.1em; o usar una de las 3 palabras clave, que son thin, medium (por defecto) y thick.
Nota:CSS no define el ancho específico de 3 palabras clave, por lo que un agente de usuario puede establecer thin, medium (por defecto) y thick en 5px, 3px y 2px, mientras que otro agente de usuario los establece en 3px, 2px y 1px.
Por lo tanto, podemos establecer el ancho del borde de esta manera:
p {border-style: solid; border-width: 5px;}
o:
p {border-style: solid; border-width: thick;}
Definir el ancho de un lado
Puede establecer el borde de cada lado del elemento en el orden de top-right-bottom-left:
p {border-style: solid; border-width: 15px 5px 15px 5px;}
El ejemplo anterior también se puede abreviar de la siguiente manera (este tipo de escritura se llamaValor de copia):
p {border-style: solid; border-width: 15px 5px;}
También puede establecer el ancho de cada lado del borde mediante las siguientes propiedades:
Por lo tanto, las siguientes reglas son equivalentes a los ejemplos anteriores:
p { border-style: solid; border-top-width: 15px; border-right-width: 5px; border-bottom-width: 15px; border-left-width: 5px; }
Sin borde
En los ejemplos anteriores, ya ha visto que para mostrar algún tipo de borde, es necesario establecer el estilo de borde, como solid o outset.
Entonces, ¿qué ocurre si se establece border-style en none?
p {border-style: none; border-width: 50px;}
A pesar de que el ancho del borde es de 50px, el estilo del borde se establece en none. En este caso, no solo se pierde el estilo del borde, sino que también su anchura se convierte en 0. El borde desaparece, ¿por qué?
Esto se debe a que si el estilo del borde es none, es decir, el borde no existe, el borde no puede tener anchura, por lo tanto, el ancho del borde se establece automáticamente en 0, sin importar lo que definiste anteriormente.
Es muy importante recordar esto. De hecho, olvidar declarar el estilo del borde es un error común. Según las siguientes reglas, todos los elementos h1 no tendrán ningún borde, ni que decir de 20 píxeles de ancho:
h1 {border-width: 20px;}
Dado que el valor predeterminado de border-style es none, si no se declara un estilo, es equivalente a border-style: none.Por lo tanto, si desea que el borde aparezca, debe declarar un estilo de borde.
Color del borde
Establecer el color del borde es muy simple. CSS utiliza un Atributo border-color,que puede aceptar hasta 4 valores de color por vez.
Se puede usar cualquier tipo de valor de color, por ejemplo, puede ser un color nombrado, también puede ser un valor hexadecimal y RGB:
p { border-style: solid; border-color: blue rgb(25%,35%,45%) #909090 red; }
Si el valor del color es menor de 4, se aplica la función de copia del valor. Por ejemplo, la declaración de regla siguiente especifica que los bordes superior e inferior del párrafo son azules, y los bordes izquierdo y derecho son rojos:
p { border-style: solid; border-color: blue red; }
Nota:El color predeterminado del borde es el color de primer plano del elemento. Si no se declara un color para el borde, será el mismo que el color del texto del elemento. Por otro lado, si el elemento no tiene ningún texto, supongamos que es una tabla que solo contiene imágenes, entonces el color del borde de esta tabla es el color de texto del elemento padre (porque color se puede heredar). Este elemento padre es probablemente body, div o otro table.
Definir color de un solo lado
También hay propiedades de color de borde de un solo lado. Su principio es el mismo que el de los estilos y atributos de anchura de un solo lado:
Para especificar un borde negro en línea recta para el elemento h1 y un borde derecho en línea recta roja, puede especificarlo de la siguiente manera:
h1 { border-style: solid; border-color: black; border-right-color: red; }
Borde transparente
Hemos hablado recientemente de que si el borde no tiene estilo, no tiene anchura. Sin embargo, en algunas situaciones, es posible que desee crear un borde invisible.
CSS2 introdujo el valor de color de borde transparente. Este valor se utiliza para crear un borde invisible de ancho. Vea el siguiente ejemplo:
<a href="#">AAA</a> <a href="#">BBB</a> <a href="#">CCC</a>
Definimos los siguientes estilos para los enlaces anteriores:
a:link, a:visited { border-style: solid; border-width: 5px; border-color: transparent; } a:hover {border-color: gray;}
En cierta medida, el uso de transparente hace que el borde sea como un margen adicional; además, tiene la ventaja de poderlo hacer visible cuando lo necesite. Este borde transparente es equivalente a un margen, ya que el fondo del elemento se extiende hasta la área del borde (si hay un fondo visible).
Importante:Antes de IE7, IE/WIN no proporcionaba soporte para transparente. En versiones anteriores, IE establecería el color del borde según el valor del color del elemento.
Ejemplo de borde CSS:
- Todas las propiedades del borde en una declaración
- Este ejemplo muestra cómo usar propiedades abreviadas para establecer todas las propiedades de los cuatro bordes en una declaración.
- Establecer el estilo de los cuatro bordes
- Este ejemplo muestra cómo establecer el estilo de los cuatro bordes.
- Establecer diferentes bordes en cada lado
- Este ejemplo muestra cómo establecer diferentes bordes en los lados del elemento.
- Todas las propiedades de anchura del borde en una declaración
- Este ejemplo muestra cómo usar propiedades abreviadas para establecer todas las propiedades de anchura del borde en una declaración.
- Establecer el color de los cuatro bordes
- Este ejemplo muestra cómo establecer el color de los cuatro bordes. Puede establecer de uno a cuatro colores.
- Todas las propiedades del borde inferior en una declaración
- Este ejemplo muestra cómo usar propiedades abreviadas para establecer todas las propiedades del borde inferior en una declaración.
- Establecer el color del borde inferior
- Este ejemplo muestra cómo establecer el color del borde inferior.
- Establecer el estilo del borde inferior
- Este ejemplo muestra cómo establecer el estilo del borde inferior.
- Establecer el ancho del borde inferior
- Este ejemplo muestra cómo establecer el ancho del borde inferior.
- Todas las propiedades del borde izquierdo en una declaración
- Todas las propiedades del borde izquierdo en una declaración
- Establecer el color del borde izquierdo
- Este ejemplo muestra cómo establecer el color del borde izquierdo.
- Establecer el estilo del borde izquierdo
- Este ejemplo muestra cómo establecer el estilo del borde izquierdo.
- Establecer el ancho del borde izquierdo
- Este ejemplo muestra cómo establecer el ancho del borde izquierdo.
- Todas las propiedades del borde derecho en una declaración
- Este ejemplo muestra una propiedad abreviada que se utiliza para establecer todas las propiedades del borde derecho en una declaración.
- Establecer el color del borde derecho
- Este ejemplo muestra cómo establecer el color del borde derecho.
- Establecer el estilo del borde derecho
- Este ejemplo muestra cómo establecer el estilo del borde derecho.
- Establecer el ancho del borde derecho
- Este ejemplo muestra cómo establecer el ancho del borde derecho.
- Todas las propiedades del borde superior en una declaración
- Este ejemplo muestra cómo usar propiedades abreviadas para establecer todas las propiedades del borde superior en una declaración.
- Establecer el color del borde superior
- Este ejemplo muestra cómo establecer el color del borde superior.
- Establecer el estilo del borde superior
- Este ejemplo muestra cómo establecer el estilo del borde superior.
- Establecer el ancho del borde superior
- Este ejemplo muestra cómo establecer el ancho del borde superior.
Atributos de borde de CSS
Atributo | Descripción |
---|---|
border | Atributo abreviado, utilizado para establecer los atributos de todos los cuatro lados en una declaración. |
border-style | Utilizado para establecer el estilo de todos los bordes del elemento, o para establecer el estilo de los bordes individuales de cada lado. |
border-width | Atributo abreviado, utilizado para establecer el ancho de todos los bordes del elemento, o para establecer el ancho de los bordes individuales de cada lado. |
border-color | Atributo abreviado, utilizado para establecer el color visible de todos los bordes del elemento, o para establecer colores individuales para cada uno de los 4 lados. |
border-bottom | Atributo abreviado, utilizado para establecer todos los atributos del borde inferior en una declaración. |
border-bottom-color | Establecer el color del borde inferior del elemento. |
border-bottom-style | Establecer el estilo del borde inferior del elemento. |
border-bottom-width | Establecer el ancho del borde inferior del elemento. |
border-left | Atributo abreviado, utilizado para establecer todos los atributos del borde izquierdo en una declaración. |
border-left-color | Establecer el color del borde izquierdo del elemento. |
border-left-style | Establecer el estilo del borde izquierdo del elemento. |
border-left-width | Establecer el ancho del borde izquierdo del elemento. |
border-right | Atributo abreviado, utilizado para establecer todos los atributos del borde derecho en una declaración. |
border-right-color | Establecer el color del borde derecho del elemento. |
border-right-style | Establecer el estilo del borde derecho del elemento. |
border-right-width | Establecer el ancho del borde derecho del elemento. |
border-top | Atributo abreviado, utilizado para establecer todos los atributos del borde superior en una declaración. |
border-top-color | Establecer el color del borde superior del elemento. |
border-top-style | Establecer el estilo del borde superior del elemento. |
border-top-width | Establecer el ancho del borde superior del elemento. |
- Página anterior Márgen interna CSS
- Página siguiente Márgen externa CSS