css里面width设置大小与实际大小不符,DW里面显示如下

html-css037

css里面width设置大小与实际大小不符,DW里面显示如下,第1张

如果设置了padding值和border,实际大小还要加上padding值和border,

比如你设置了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>          试试