最近聽大家在討論 負margin的一些應用,所以自己研究一下,下面做一些記錄
1. 實現左右兩列布局
方法一:
<div>
<div style="float:left;width:200px;">左側</div>
<div style="margin-left:200px;background:#999;">右側</div>
</div>
方法二:
<div>
<div style="width:200px;height:200px;">左側</div>
<div style="margin-left:200px;margin-top:-200px;">右側</div>
</div>
對比兩種方法,第一種用到float,弊端就是應用float在IE中可能引起很多bug,第二種的話用-margin,本事還是比較讚的,暫時沒發現沒事問題;
2.導航欄
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
*{
margin: 0;
border: 0;
padding: 0;
}
ul{
overflow: hidden;
}
ul li{
background: #999;
border-left: 1px solid #000;
width:60px;
height:30px;
float: left;
list-style: none;
text-align: center;
margin-left:-1px;
}
</style>
</head>
<body>
<div style="margin-left:20px;">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
</body>
</html>
或者:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
*{
margin: 0;
border: 0;
padding: 0;
}
ul{
}
ul li{
background: #999;
border-left: 1px solid #000;
border-right: 1px solid #000;
width:60px;
height:30px;
float: left;
list-style: none;
text-align: center;
margin-left:-1px;
}
</style>
</head>
<body>
<div style="margin-left:20px;">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
</body>
</html>
合理使用overflow以及-margin