美文网首页
width 继承父元素

width 继承父元素

作者: 想溜了的蜗牛 | 来源:发表于2020-11-19 23:50 被阅读0次

CSS入门简单,精通是真难。

需求: fixed 定位的结点需要继承父结点的宽度,代码的层级有点深。

使用百分比为单位时, fixed 元素的宽度不像 absolute 是相对于父元素宽度,而是相对于body 。
这里直接引用文章你不知道的css之 width “继承”篇的总结:

总结:
一.当符合css默认“继承”的情况下(子元素必须是块级元素且无定位或浮动),是不需要写width属性,就可以默认“继承”的。
    否则就要特殊声明一下width属性。
二.当使用 width:100% 的时候 也要注意其基准点到底是谁:
(1)对于使用 position:relative 的子元素或浮动的子元素,其基准点始终是基于其直接父元素而言的,跟其父元素是否有定位无关。
(2)对于绝对定位position:absolute的子元素,其基准点是相对于离其最近的一层定位父元素而言。如果其所有父级元素均无定位,则是相对于body而言。
(3)对于使用position:fixed的子元素,其基准点就是body。跟父元素无关。

针对 【总结一】 做一些补充:

  1. 子结点中宽度继承时默认是 auto, 即是元素的内容的宽度,如果需要和父结点一致,需要明确书写 width: inherit;
  2. 对于absolute, fixed定位而言,也是可以继承父元素的宽度的,

测试代码:
css code:

body {
  width: 100%;
}
.parent{
/*   margin: 50px; */
  width: 30%;
  height: 200px;
  border: 1px solid green;
}
.child {
  position: fixed;
  top: 100px;
/*   left: 0; */
  background: red;
  width: inherit;
}

html code:

<div class="parent">
  <div class="child">This DIV</div>
</div>

codepen 示例,可以试验下。

还是有不少疑问,百分比 按理是可以继承的(codepen的示例),但react 这个项目继承不了,定位是按body来算的,是按上边的总结来的。
有最后的可以解说 下,感谢

相关文章

  • width 继承父元素

    CSS入门简单,精通是真难。 需求: fixed 定位的结点需要继承父结点的宽度,代码的层级有点深。 使用百分比为...

  • 新手入门前端1—— width=100%

    今天在看代码的时候看到width=100%,查询后知道 当width=100%时,子元素的宽度是继承的父元素宽度 ...

  • width:auto深入理解

    官方文档显示width没有继承属性, 既然这样,那为什么父块元素设置宽度,子块元素没设置宽度时,子元素的宽度等于父...

  • 前端开发之CSS(盒模型)

    width height 50%继承于父元素适用于块级元素 padding 缩写 写了右填充等价于设置左填充缩写 ...

  • 宽高自适应及居中

    一、宽高自适应 1.宽度自适应 语法:width:100%; 注:1.块元素默认宽度为100%,继承父元素的宽度2...

  • css百分比参照总结

    参照父元素宽度的元素:padding margin width text-indent 参照父元素高度的元素:he...

  • calc()和width: 100%;的使用

    width: 100% 注意width:100%是子元素的content的宽度等于父元素content的宽度。 c...

  • css百分比参照问题

    1.参照父元素宽度的元素:padding margin;width;text-indent 2.参照父元素高度的元...

  • 清除浮动

    对于父元素的清除是:width:100% overflow:hidden; 临近元素(之后元素)清除:clear:...

  • css常见样式

    什么是css继承?哪些属性能继承?哪些不能? css继承:设置父级元素,其子级元素的样式会和父级元素一样。 能继承...

网友评论

      本文标题:width 继承父元素

      本文链接:https://www.haomeiwen.com/subject/bpuliktx.html