Puede hacer un borde personalizado usando un tramo. Haga un tramo con una clase (especificando la dirección en la que va el borde) y una identificación:
<html>
<body>
<div class="mdiv">
<span class="VerticalBorder" id="Span1"></span>
<header class="mheader">
<span class="HorizontalBorder" id="Span2"></span>
</header>
</div>
</body>
</html>
Luego, vaya a su CSS y configure la clase en position:absolute
, height:100%
(Para bordes verticales), width:100%
(Para bordes horizontales) margin:0%
y background-color:#000000;
. Agregue todo lo demás que sea necesario:
body{
margin:0%;
}
div.mdiv{
position:absolute;
width:100%;
height:100%;
top:0%;
left:0%;
margin:0%;
}
header.mheader{
position:absolute;
width:100%;
height:20%;
top:0%;
left:0%;
margin:0%;
}
span.HorizontalBorder{
position:absolute;
width:100%;
margin:0%;
background-color:#000000;
}
span.VerticalBorder{
position:absolute;
height:100%;
margin:0%;
background-color:#000000;
}
A continuación, establezca el ID que corresponde a class="VerticalBorder"
a top:0%;
, left:0%;
, width:1%;
(ya que la anchura de la MDiv es igual a la anchura de la mheader al 100%, la anchura será del 100% de lo que lo ajusta. Si se establece el ancho a 1% el el borde será el 1% del ancho de la ventana). Establezca la identificación que corresponde al class="HorizontalBorder"
to top:99%
(ya que está en un contenedor de encabezado, la parte superior se refiere a la posición en la que se encuentra de acuerdo con el encabezado. Esto + la altura debe sumar 100% si desea que llegue al final), left:0%;
y height:1%
(Dado que la altura del mdiv es 5 veces mayor que la altura del mheader [100% = 100, 20% = 20, 100/20 = 5], la altura será el 20% de lo que estableciste. Si estableces la altura al 1% el borde será el 0,2% de la altura de la ventana). Así es como se verá:
span#Span1{
top:0%;
left:0%;
width:.4%;
}
span#Span2{
top:99%;
left:0%;
width:1%;
}
DESCARGO DE RESPONSABILIDAD: Si cambia el tamaño de la ventana a un tamaño lo suficientemente pequeño, los bordes desaparecerán. Una solución sería limitar el tamaño del borde si se cambia el tamaño de la ventana hasta cierto punto. Aquí esta lo que hice:
window.addEventListener("load", Loaded);
function Loaded() {
window.addEventListener("resize", Resized);
function Resized() {
var WindowWidth = window.innerWidth;
var WindowHeight = window.innerHeight;
var Span1 = document.getElementById("Span1");
var Span2 = document.getElementById("Span2");
if (WindowWidth <= 800) {
Span1.style.width = .4;
}
if (WindowHeight <= 600) {
Span2.style.height = 1;
}
}
}
Si hizo todo bien, debería verse como está en este enlace: https://jsfiddle.net/umhgkvq8/12/
Por alguna extraña razón, el borde desaparecerá en jsfiddle pero no si lo inicia en un navegador .
border-width
no admite el porcentaje como valor. Puede usar em, px, ex, etc. Pero, ¿por qué quiere establecer unborder-width
10%?