比如你设置了width:300pxpadding-left:20px那实际就是320px,要想显示回300px,就把width改小点就好了
另外子级元素也可能会撑开父级div的宽度,这个情况下除了修改子级宽度,还可以给父级加上overflow:hidden将超出的部分隐藏
解决方法:加display:inline例:
#content {
float: left
width: 500px
padding: 10px 15px
margin-left: 20px
display:inline
}
2.克服盒子模型的hack
原写法:
#main-div{
width: 150px
border: 5px
padding: 20px
}
修正后
#main-div1{
width: 150px
}
#main-div1 div{
border: 5px
padding: 20px
}
例如:
<div id="main-div">1</div>
<div id="main-div1"><div>2</div></div>见图:
两者区别:1是把padding加到父层里,DIV的宽度是150+20+20
2是把PADDING加到子层里,div的宽度是150.
我习惯是用1的方法去自己计算宽高.
3,4.最小高度(最小宽度)IE不识别的解决方法
.container {
width:20em
padding:0.5em
border:1px solid #000
min-height:8em
height:auto
}
* html .container {
height: 8em
}
5.整块元素居中对齐的方法
body{
text-align: center
}
#container
{
text-align: left
width: 960px
margin: 0 auto
}
先定义BODY中的文字整个居中text-align:center,再定义其中需要左对齐的子元素text-align:left
6.垂直居中的CSS
#wrapper {
width:530px
height:25px
background:url(container.gif) no-repeat left top
padding:0px 10px
}
#wrapper p {
line-height:25px
}
适用单行文字,将height设成line-height同值
<body>
<div id="main" style="background:redwidth:600pxheight:650pxfont一size:0">
<div id="left" style="background:greenFLOAT: leftwidth:400pxheight:300pxdisplay:inline一block font一size:l6px">
我是左侧栏:定义左侧FLOAT: left
</div>
<div id="right" style="background:blueFLOAT: right width:200px height:300pxdisplay:inline一block font一size:l6px">
我是右侧栏:定义右侧FLOAT:right
</div>
</div>
</body> 试试
看