这两种布局实际上就是考察对float
和margin
负值的掌握,这两点搞清楚问题就不大了
code部分:
<body>
<div class="header">头部div>
<div class="wrapper">
<div class="item center">主区域div>
<div class="item left">左区域div>
<div class="item right">右区域div>
div>
<div class="footer">底部div>
<style>
.header {
background-color: rgb(228, 19, 19);
}
.center {
background-color: aqua;
width: 100%;
}
.left {
background-color: rgb(15, 45, 235);
position: relative;
width: 150px;
margin-left: -100%;
left: -150px;
}
.right {
background-color: blueviolet;
width: 200px;
margin-right: -200px;
}
.footer {
background-color: darkgreen;
clear: both;
}
.item {
float: left;
}
.wrapper {
padding-left: 150px;
padding-right: 200px;
}
style>
body>
code部分:
<body>
<div class="header">头部div>
<div class="main">
<div class="center">主区域div>
div>
<div class="left">左区域div>
<div class="right">右区域div>
<div class="footer">尾部div>
<style>
.header, .footer {
background-color: aqua;
}
.main {
float: left;
width: 100%;
background-color: brown;
}
.center {
margin: 0 150px;
}
.left {
float: left;
width: 150px;
margin-left: -100%;
background-color: crimson;
}
.right {
float: left;
width: 150px;
margin-left: -150px;
background-color: darksalmon;
}
.footer {
clear: both;
}
style>
body>
注意观察二者的html
标签的不同
不清楚为什么的可以看技术蛋老师的视频,CSS圣杯布局和双飞翼布局 - Web前端工程师面试题讲解_哔哩哔哩_bilibili