html 利用margin负值隐藏列表顶部边框
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.arc-list{
overflow: hidden;
width: 676px;
}
.arc-list dl{
height: 200px;
margin-top: -1px;
border-top: 1px dotted #ccc;
}
/*
当父级元素存在内边距时 不能隐藏顶部边框
解决方法:多嵌套层标签
在父级元素与子级元素之间嵌套一层元素,这层元素从父级元素内容开始,这样就不会存在内边距,设置超出隐藏即可*/
.arc-list1{
overflow: hidden;
width: 676px;
padding: 14px 50px;
}
.arc-con{
overflow: hidden; /*嵌套的元素*/
}
.arc-list1 dl{
height: 200px;
margin-top: -1px;
border-top: 1px dotted #ccc;
}
}
</style>
</head>
<body>
一
<br>
<div class="arc-list">
<dl class="cleartfix">
wwwwwwwwwwwwwwwwww
</dl>
<dl class="cleartfix">
wwwwwwwwwwwwwwwwww
</dl>
<dl class="cleartfix">
wwwwwwwwwwwwwwwwww
</dl>
</div>
<!-- 利用margin负值往上移动 第一个dl超出父级元素 overflow隐藏上边框-->
二
<!--当父级元素有内边距时 使用margin负值第一个dl会显示-->
<br>
<div class="arc-list1">
<div class="arc-con"> <!--从这里开始-->
<dl class="cleartfix">
wwwwwwwwwwwwwwwwww
</dl>
<dl class="cleartfix">
wwwwwwwwwwwwwwwwww
</dl>
<dl class="cleartfix">
wwwwwwwwwwwwwwwwww
</dl>
</div>
</body>
</html>
核心原理:利用margin负值,为父级元素设置超出隐藏。
嵌套层数:为了方便控制,通常会多嵌套一层标签,设计横向浮动元素超出时,必须多嵌套一层结构
方法优势:能够让所有的同种标签统一,并不会产生额外的样式设置,兼容性良好,代码扩展性强。
注意:父级的padding可能会影响显示效果,在适当的时候可以多层嵌套一层,或者把父级的padding值更换为子级元素的margin值。
参考 html5布局之路