div是個容器,一個Box中由很多行很多元素組成,vertical-align只作用于在同一行內的元素,它的垂直并不是相對于整個Box而言的。表格的單元格相當于一行,所以就能垂直居中
對于單行文本:垂直居中中的方法比較簡單,可能設line-hight與div 的高度一樣就行了
即可
對于多行文本,比較麻煩:可以參考一下這個
代碼如下:
對于div中文字可以使其垂直居中,我要兼容IE和firefox!
css文件如下:
div.demo{width: 800px;margin: 12px auto;border: 1px solid #1987df;color: inherit;background: #CEE7FF}
div#outerbox{height: 300px;position: relative;display:table}
div#outerbox div{position: absolute;top: 50%;left: 0}
div#outerbox p{position: relative;top: -50%;margin: 24px;text-indent: 0; font-size:14px;}
div#outerbox>div{display:table-cell;vertical-align:middle;position:static}
這個你可以參考一下,新建一個css文件,把上面的樣式copy進去,再在html文件里加入引用就ok了!
補充一點:在IE6.0和Mozilla firefox瀏覽器中垂直居中測試成功