您可以使用跨度制作自定义边框。用一个类(指定边框的行进方向)和一个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>
然后,转到您的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;
}
然后设置ID对应class="VerticalBorder"
到top:0%;
,left:0%;
,width:1%;
(由于MDIV的宽度等于100%的mheader的宽度,宽度将是你将它设置为100%。如果将宽度设置为1%边框将是窗口宽度的1%)。设置ID对应于class="HorizontalBorder"
到top:99%
(因为它是在头容器顶部是指它是根据头部的位置。这+如果你希望它到达底部的高度应为100%),left:0%;
和height:1%
(由于mdiv的高度是mheader高度的5倍[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等。但是为什么要将a设置border-width
为10%?