Você pode fazer uma borda personalizada usando uma extensão. Faça um intervalo com uma classe (especificando a direção em que a fronteira está indo) e um 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>
Em seguida, acesse seu CSS e defina a classe como position:absolute, height:100%(Para bordas verticais), width:100%(Para bordas horizontais) margin:0%e background-color:#000000;. Adicione tudo o mais que for necessário:
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;
}
Em seguida, defina o ID que corresponde a class="VerticalBorder"para top:0%;, left:0%;, width:1%;(Uma vez que a largura da MDiv é igual à largura da mheader em 100%, a largura será 100% do que você configurá-lo. Se você definir a largura para 1% do a borda terá 1% da largura da janela). Defina o ID que corresponde ao class="HorizontalBorder"a top:99%(Desde que é em um recipiente de cabeçalho no topo refere-se à posição que está em acordo com o cabeçalho. Esta + a altura deve somar 100%, se você quer que ele para chegar ao fundo), left:0%;e height:1%(Como a altura do mdiv é 5 vezes maior do que a altura do mheader [100% = 100, 20% = 20, 100/20 = 5], a altura será 20% do que você definiu. Se você definir a altura para 1% a borda terá 0,2% da altura da janela). É assim que vai ficar:
span#Span1{
top:0%;
left:0%;
width:.4%;
}
span#Span2{
top:99%;
left:0%;
width:1%;
}
AVISO LEGAL: Se você redimensionar a janela para um tamanho pequeno o suficiente, as bordas irão desaparecer. Uma solução seria limitar o tamanho da borda se a janela for redimensionada para um determinado ponto. Aqui está o que eu fiz:
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 você fez tudo certo, deve ficar parecido com o que está neste link: https://jsfiddle.net/umhgkvq8/12/
Por algum motivo estranho, a borda irá desaparecer no jsfiddle, mas não se você iniciá-lo em um navegador .
border-widthnão suporta porcentagem como valor. Você pode usar em, px, ex etc. Mas por que você deseja definir umborder-widthde 10%?