在css中 父元素不固定高度,怎样实现子元素的高度100

html-css09

在css中 父元素不固定高度,怎样实现子元素的高度100,第1张

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

</head>

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

<style type="text/css">

*{margin: 0padding: 0}

.inbox{height: 100pxbackground: #DCDCDC}

</style>

<body>

<div class="box"><!--父级元素未设置高度,box的高度是被包含元素inbox“撑开”的-->

<div class="inbox">

子元素

</div>

</div>

<script>

$(function(){

var boxH = $('.box').height()

var inboxH = $('.inbox').height()

alert("box的高度"+boxH+"px\n"+"inbox的高度"+inboxH+"px")

})

</script>

</body>

</html>

最开始就是这样子啦,可是我脑子一热,想让b浮动(工作中确实会遇到这种情况),然后float:left,发现父元素没高度了(看起来就像父元素没了)。

就像这样子:

(其实我最开始是发现给了个border-bottom属性,它跑去顶部了)

这种情况,给父元素一个height值就可以了,可是我不能给它一个固定的高度,我想让它随内容的高度变化。

怎么办呢。

诶,我想到一个办法:

我在父元素最后添加了一个空的元素c,用c清空左右浮动,就又回到最开始的效果了,而且动态添加其他元素的话,父元素高度也会像开始那样随之变化了。

1、首先新建一个html文件,命名为test.html。

2、在test.html文件内,使用p标签创建两行文字,代码如下。

3、在test.html文件内,设置第一个p标签id属性为mp,主要用于下面使用css设置该p元素隐藏。

4、在test.html文件内,编写标签<style type="text/css"></style>,下面将在标签内编写css样式。

5、在css标签内,使用css设置p标签的行高为30px,在浏览器运行test.html。

6、在css标签内,对id为mp的p元素样式进行单独定义,通过dispay属性设置为none,实现该p元素隐藏不可见。

7、最后在浏览器打开test.html文件,查看实现的效果。