Puoi creare un bordo personalizzato utilizzando un'estensione. Crea uno span con una classe (specificando la direzione in cui sta andando il confine) e un id:
<html>
<body>
<div class="mdiv">
<span class="VerticalBorder" id="Span1"></span>
<header class="mheader">
<span class="HorizontalBorder" id="Span2"></span>
</header>
</div>
</body>
</html>
Quindi, vai al tuo CSS e imposta la classe su position:absolute, height:100%(Per bordi verticali), width:100%(Per bordi orizzontali) margin:0%e background-color:#000000;. Aggiungi tutto il necessario:
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;
}
Quindi impostare l'id che corrisponde class="VerticalBorder"a top:0%;, left:0%;, width:1%;(Poiché la larghezza della MDIV è uguale alla larghezza della mheader al 100%, la larghezza saranno 100% di quello di impostarlo. Se si imposta una larghezza di 1% della bordo sarà l'1% della larghezza della finestra). Imposta l'id che corrisponde a class="HorizontalBorder"a top:99%(Dato che è in un contenitore di intestazione, la parte superiore si riferisce alla posizione in cui si trova in base all'intestazione. Questo + l'altezza dovrebbe aggiungere fino al 100% se vuoi che raggiunga il fondo), left:0%;e height:1%(Poiché l'altezza di mdiv è 5 volte maggiore dell'altezza di mheader [100% = 100, 20% = 20, 100/20 = 5], l'altezza sarà il 20% di ciò che hai impostato. Se imposti l'altezza all'1% il bordo sarà lo 0,2% dell'altezza della finestra). Ecco come apparirà:
span#Span1{
top:0%;
left:0%;
width:.4%;
}
span#Span2{
top:99%;
left:0%;
width:1%;
}
NOTA BENE: se ridimensionate la finestra a una dimensione sufficientemente piccola, i bordi scompariranno. Una soluzione potrebbe essere quella di limitare la dimensione del bordo se la finestra viene ridimensionata fino a un certo punto. Ecco cosa ho fatto:
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;
}
}
}
Se hai fatto tutto bene, dovrebbe apparire come è in questo link: https://jsfiddle.net/umhgkvq8/12/
Per qualche strano motivo, il bordo scomparirà in jsfiddle ma non se lo avvii su un browser .
border-widthnon supporta la percentuale come valore. Puoi usare em, px, ex ecc. Ma perché vuoi impostare aborder-widthdel 10%?