Вы можете создать настраиваемую границу с помощью диапазона. Создайте диапазон с классом (указав направление, в котором идет граница) и идентификатором:
<html>
<body>
<div class="mdiv">
<span class="VerticalBorder" id="Span1"></span>
<header class="mheader">
<span class="HorizontalBorder" id="Span2"></span>
</header>
</div>
</body>
</html>
Затем перейдите к вам CSS и установить класс к position:absolute, height:100%(для вертикальных границ), width:100%(для горизонтальных границ), margin:0%и background-color:#000000;. Добавьте все, что необходимо:
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;
}
Затем установить идентификатор , который соответствует class="VerticalBorder"к top:0%;, left:0%;, width:1%;(Так как ширина mdiv равна ширине mheader на 100%, то ширина будет 100% того , что вы установите его. Если вы установите ширину на 1% , то граница будет составлять 1% от ширины окна). Установите идентификатор , который соответствует class="HorizontalBorder"к top:99%(Поскольку это в контейнере заголовка в верхней относится к позиции , которую он находится в соответствии с заголовком. Это + высота должна составлять 100% , если вы хотите, чтобы достичь дна), left:0%;и height:1%(Поскольку высота mdiv в 5 раз больше, чем высота mheader [100% = 100, 20% = 20, 100/20 = 5], высота будет 20% от того, что вы установили. Если вы установите высоту до 1% граница будет составлять 0,2% от высоты окна). Вот как это будет выглядеть:
span#Span1{
top:0%;
left:0%;
width:.4%;
}
span#Span2{
top:99%;
left:0%;
width:1%;
}
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Если вы измените размер окна до достаточно маленького размера, границы исчезнут. Решением может быть ограничение размера границы, если размер окна изменяется до определенной точки. Вот что я сделал:
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;
}
}
}
Если вы все сделали правильно, это должно выглядеть так, как в этой ссылке: https://jsfiddle.net/umhgkvq8/12/
По какой-то странной причине граница исчезнет в jsfiddle, но не если вы запустите ее в браузере .
border-widthне поддерживает процентное значение как значение. Вы можете использовать em, px, ex и т. Д. Но почему вы хотите установить значениеborder-width10%?