意义是:DOM顺序跟最终视觉顺序相符,且支持页面的自适应。
<style>
.box{overflow: hidden;resize: vertical;width: 1000px;}
.orange,.green{margin-bottom: -600px;padding-bottom: 600px;line-height: 50px;width:50%;}
.orange{background: orange;float: left;}
.green{background: green;float: left;}
</style>
</head>
<body>
<div class="box">
<nav class="orange">
<h3>导航1</h3>
</nav>
<section class="green">
模块1
</section>
<section class="green">
模块1
</section>
<section class="green">
</div>
你代码呢???
这是设置了外面包裹容器的resize
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>margin负值的运用-平铺</title> </head> <body> <div class="box"> <div class="ul"> <div class="li">列表1</div> <div class="li">列表2</div> <div class="li">列表3</div> </div> </div> </body> <style> .box { width: 900px; margin: auto; background: brown; } .ul { overflow: hidden; margin-right: -60px; } .li { width: 300px; height: 300px; background: aqua; float: left; margin-right: 20px; } </style> </html>
可以的代码
20像素加在了ul上面,box宽度没变,浏览器F12 自己看一下
overflow:hidden;意思为当内容宽高大于父容器宽高,超出的部分就会被隐藏。
本题中内容宽度为:(386.66+20)* 3 = 1220
父容器宽度为:1200 < 1220
所以这里如果不加overflow:hidden;则父容器无法在一行中容纳所有的内容,最后一个div元素会换行显示;
但是如果你加overflow:hidden;内容超过父容器的部分可以被隐藏,即可做到一行显示。
这里不设置也没关系是因为有一句margin-right:-20px;
添加vdi是板正阅读代码习掼,如不加vdi直接在p设置我的理解是p不能装载除文本外的图片等
#test{
margin:20px;
width:390px;
background:#F4F8FC;
border-radius:30px;
border:6px solid red; overflow:hidden;
}
加个overflow:hidden; 样式就可解决问题,使最后一个li的下边框隐藏
其实是有效的,margin-left和margin-top是相对于父元素左上角而言,而margin-right和margin-bottom是相对元素本身而言,会影响后面元素的位置,当后面有元素的时候就可以看到效果了。
...你代码是不是写错了,ul闭合标签是</ul>
百分比不起作用,是因为ul的margin百分比是相对于整个扩大后的占比,就是相对box的占比,而li的margin百分比则是相对ul的占比,两个占比相对的元素就不一样了,所以其百分比的含义不一样,所以仍按照现有的思路设宽度是不正确的。