原因是百分比的大小是相对其父级元素宽高的大小,如最外层元素设置的百分比是对应屏幕而言的。
需要了解的是对于宽度来说,其父级元素无须确定宽度就能设置百分比,例如我们可以利用这个特性给未知宽度的块级元素设置水平居中效果:
父元素css: position: relative/absoluteleft: 50%
子元素css: position: relativeleft: -50%
但高度则不同,若某元素的父元素没有确定高度,则无法有效使用height=XX%的样式,我们可以这样解决(假设最外层的div需要设置百分比高度样式):
html, body {
height: 100%
}
.outDiv {
height: 50%
}
不过这里有个需要注意的,若div里的内容超出了div的高度,在IE7+的浏览器是无法将div撑起来的(IE6则可以),如果要顾及这一点,可以使用min-height解决(当然也要考虑IE6不支持min-height的问题):
html, body {
height: 100%
}
.outDiv {
min-height: 50%
}
* html .outDiv {
height: 50%
}
最后说通俗点,如果你想把高度设为百分比,那么父级必须设置高度
方法一:两边的图片用绝对定位放上去。如:<img style="position:absoluteleft:0pxtop:50px">方法二:舍弃div,用三列的table,好处:容易控制,兼容所有的浏览器。
list-style-position 属性设置在何处放置列表项标记。外部 (outside) 标志会放在离列表项边框边界一定距离处。
内部 (inside) 标志处理像是插入在列表项内容最前面的行内元素一样。
<html>
<head>
<style type="text/css">
ul.inside
{
list-style-position: inside
}
ul.outside
{
list-style-position: outside
}
</style>
</head>
<body>
<p>该列表的 list-style-position 的值是 "inside":</p>
<ul class="inside">
<li>Earl Grey Tea - 一种黑颜色的茶</li>
<li>Jasmine Tea - 一种神奇的“全功能”茶</li>
<li>Honeybush Tea - 一种令人愉快的果味茶</li>
</ul>
<p>该列表的 list-style-position 的值是 "outside":</p>
<ul class="outside">
<li>Earl Grey Tea - 一种黑颜色的茶</li>
<li>Jasmine Tea - 一种神奇的“全功能”茶</li>
<li>Honeybush Tea - 一种令人愉快的果味茶</li>
</ul>
</body>
</html>
代码效果: