คุณสามารถสร้างเส้นขอบแบบกำหนดเองโดยใช้ช่วง สร้างช่วงด้วยคลาส (ระบุทิศทางที่เส้นขอบจะไป) และ 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;
}
จากนั้นตั้งค่ารหัสที่สอดคล้องกับclass="VerticalBorder"
การtop:0%;
, left:0%;
, width:1%;
(ตั้งแต่ความกว้างของ MDiv เท่ากับความกว้างของ mheader ที่ 100% ของความกว้างจะเป็น 100% ของสิ่งที่คุณตั้ง. ถ้าคุณตั้งค่าความกว้างไป 1% เส้นขอบจะเท่ากับ 1% ของความกว้างของหน้าต่าง) ตั้งค่ารหัสที่สอดคล้องกับclass="HorizontalBorder"
to top:99%
(เนื่องจากอยู่ในคอนเทนเนอร์ส่วนหัวด้านบนจึงหมายถึงตำแหน่งที่อยู่ในส่วนหัวนี้ + ความสูงควรเพิ่มได้ถึง 100% หากคุณต้องการให้ไปถึงด้านล่าง) left:0%;
และheight:1%
(เนื่องจากความสูงของ mdiv มากกว่าความสูงของ mheader 5 เท่า [100% = 100, 20% = 20, 100/20 = 5] ความสูงจะเท่ากับ 20% ของสิ่งที่คุณตั้งไว้หากคุณตั้งค่าความสูง ถึง 1% เส้นขอบจะเท่ากับ. 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-width
10%?