css行高元素的高(不确定,百分比)

html-css042

css行高元素的高(不确定,百分比),第1张

首先行高百分比的书写,百分比是针对字体大小进行设置的,也就是说如果你的文字大小为20px,那么100%就是20px,这个和你的需求不符合

其次,CSS当中也不能写成height/2的样子

那么,两种方案能够解决这个问题

1 改变标签的默认显示样式,然后使用vertical-align属性进行控制

<style>

.box {

width: 800px

height: 400px

border: 10px solid red

}

.demo {

float: left

display: table

width: 33%

height: 50%

border: 1px solid black

}

.demo > p {

display: table-cell

vertical-align: middle

}

</style>

<div class="box">

<div class="demo">

<p>新手书籍推荐:《HTML5布局之路》</p>

</div>

</div>

显示效果:

2 使用JS进行动态的样式设置(即通过JS动态的获取这个标签的高度,然后再通过 元素.style.lineHeight的方法来设置具体的行高值,当然,这种设置比第一种要麻烦的多)

css监听元素高度如下。

1、页面渲染完成后(onReady函数里)去获取元素1在页面上距离顶部的高度fixedTop。

2、用监听页面滚动函数onPageScroll得到当前页面滚动高度,高度是页面在垂直防线已滚动的距离(单位px)。

父级元素设置min-height:100px(设置除ie6的其他浏览器)_height:100px(针对ie6,ie6特性高度超过100px会自动撑开)然后子divcss高度height:100px