Możesz utworzyć niestandardową ramkę za pomocą rozpiętości. Stwórz rozpiętość z klasą (określając kierunek, w którym zmierza granica) i 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>
Następnie przejdź do ciebie CSS i ustawić klasę, do position:absolute, height:100%(do pionowego granicy), width:100%(dla granic pozioma), margin:0%a background-color:#000000;. Dodaj wszystko, co jest konieczne:
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;
}
Następnie ustawić identyfikator, który odpowiada class="VerticalBorder"na top:0%;, left:0%;, width:1%;(Ponieważ szerokość mdiv jest równa szerokości mheader na 100%, szerokość będzie wynosić 100% tego, co go ustawić. Jeżeli ustawić szerokość do 1% przed obramowanie będzie wynosić 1% szerokości okna). Ustaw identyfikator, który odpowiada class="HorizontalBorder"na top:99%(Ponieważ jest to w pojemniku nagłówka górna odnosi się do stanowiska, to w zależności od cel. To + wysokość powinny sumować się do 100%, jeżeli chcesz, aby dotrzeć do dna), left:0%;a height:1%(Ponieważ wysokość mdiv jest 5 razy większa niż wysokość mheader [100% = 100, 20% = 20, 100/20 = 5], wysokość będzie wynosić 20% ustawionej wysokości. Jeśli ustawisz wysokość do 1% obramowanie będzie wynosić 0,2% wysokości okna). Oto jak to będzie wyglądać:
span#Span1{
top:0%;
left:0%;
width:.4%;
}
span#Span2{
top:99%;
left:0%;
width:1%;
}
ZRZECZENIE SIĘ: Jeśli zmienisz rozmiar okna na wystarczająco mały, obramowanie zniknie. Rozwiązaniem byłoby ograniczenie rozmiaru obramowania, jeśli rozmiar okna zostanie zmieniony do określonego punktu. Oto co zrobiłem:
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;
}
}
}
Jeśli zrobiłeś wszystko dobrze, powinno to wyglądać tak, jak jest w tym linku: https://jsfiddle.net/umhgkvq8/12/
Z jakiegoś dziwnego powodu granica zniknie w jsfiddle, ale nie jeśli uruchomisz ją w przeglądarce .
border-widthnie obsługuje wartości procentowej. Możesz użyć em, px, ex itp. Ale dlaczego chcesz ustawićborder-width10%?