您可以使用跨度制作自定义边框。用一个类(指定边界的方向)和一个 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%; /* 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;
}
然后设置对应的id class="VerticalBorder"
,,,top:0%;
(left:0%;
由于width:1%;
mdiv的宽度等于mheader的宽度为100%,所以宽度将是你设置的100%。如果你把宽度设置为1%边框将是窗口宽度的 1%)。class="HorizontalBorder"
设置与to对应的 id 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 中消失,但如果你将它启动到浏览器则不会.