首页 前端知识 CSS3子元素设置100%为什么没有效果

CSS3子元素设置100%为什么没有效果

2024-09-09 00:09:06 前端知识 前端哥 37 777 我要收藏

web前端开发中,如果要将html文档中的子元素的某一属性值,比如将高度通过height:100%的CSS样式的方法设置得与父元素的高度相同,这通常是设计响应式web页面的好方法,可是“有时候”会没有效果?这是为什么呢?

出现这种情况的可能原因大概有两个(下面以高度属性值为例子)

  • 并没有显式地设置父元素的高度(或未显式地设置好最高父元素的高度):这种显式地设置高度的方法一般是设置具体的高度,比如使用px为单位;

  • 并没有逐级继承父元素的高度:html文档中,一个元素可能是另一个元素的子元素的子元素,而通过100%设置的属性值通常是继承直接父元素的,因此一般需要进行逐级继承。

例子:

下面的实例代码中,设置了d2和d3的height分别为50%,d2继承自d1,d3则继承自d2,如果将d2的css属性注释掉,那么d3将不会被浏览器渲染出高度:

<div class="d1" style="background-color:gold;height:100px;width:200px">
  <div class="d2" style="background-color:green;width:200px">
    <div class="d3" style="background-color:orange;width:200px"></div>
  </div>
</div>

<style>
  .d2{height:50%} /*可以将其注释,然后重新运行试试*/
  .d3{height:50%}
</style>

当然,具体的问题还需要具体的分析。

原文:CSS3子元素属性设置100%为什么没有效果

免责声明:内容仅供参考,不保证正确性!

转载请注明出处或者链接地址:https://www.qianduange.cn//article/17982.html
标签
评论
发布的文章

JSON简介

2024-09-30 23:09:25

Node.js和npm的安装及配置

2024-09-30 23:09:02

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!