Sie können einen benutzerdefinierten Rahmen mithilfe einer Spanne erstellen. Erstellen Sie eine Spanne mit einer Klasse (Angabe der Richtung, in die der Rand verläuft) und einer 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>
Dann gehen Sie auf Sie CSS und stellen Sie die Klasse position:absolute, height:100%(für vertikale Grenzen), width:100%(für horizontale Grenzen), margin:0%und background-color:#000000;. Fügen Sie alles hinzu, was noch nötig ist:
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%; /* You can set this to whatever. I will use 20 for easier calculations. You don't need a header. I'm using it to show you the difference. */
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;
}
Dann die ID festgelegt , dass entspricht class="VerticalBorder"auf top:0%;, left:0%;, width:1%;(Da die Breite des MDiv auf die Breite des mheader bei 100% gleich ist, wird die Breite 100% von dem , was Sie es einrichten. Wenn Sie die Breite auf 1% gesetzt die Der Rand beträgt 1% der Fensterbreite. Stellen Sie die ID ein, die dem class="HorizontalBorder"to entspricht top:99%(Da es sich in einem Kopfzeilencontainer befindet, bezieht sich die Oberseite auf die Position, in der es sich gemäß der Kopfzeile befindet. Diese + Höhe sollte sich zu 100% addieren, wenn Sie möchten, dass sie die Unterseite erreicht) left:0%;und height:1%(Da die Höhe des mdiv 5-mal größer ist als die Höhe des mheader [100% = 100, 20% = 20, 100/20 = 5], beträgt die Höhe 20% der von Ihnen eingestellten Höhe. Wenn Sie die Höhe einstellen bis 1% beträgt der Rand 0,2% der Fensterhöhe. So wird es aussehen:
span#Span1{
top:0%;
left:0%;
width:.4%;
}
span#Span2{
top:99%;
left:0%;
width:1%;
}
HAFTUNGSAUSSCHLUSS: Wenn Sie die Größe des Fensters auf eine ausreichend kleine Größe ändern, verschwinden die Ränder. Eine Lösung wäre, die Größe des Rahmens zu begrenzen, wenn die Größe des Fensters auf einen bestimmten Punkt geändert wird. Folgendes habe ich getan:
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;
}
}
}
Wenn Sie alles richtig gemacht haben, sollte es so aussehen, wie es in diesem Link ist: https://jsfiddle.net/umhgkvq8/12/
Aus irgendeinem Grund verschwindet der Rand in jsfiddle, aber nicht, wenn Sie ihn in einem Browser starten .
border-widthunterstützt keinen Prozentsatz als Wert. Sie können em, px, ex usw. verwenden. Aber warum möchten Sie einen Wertborder-widthvon 10% festlegen ?