inset 属性是 CSS 中的一个简写属性,用于同时设置一个元素的四个定位属性:toprightbottom left。


inset 中可以有很多参数,先总结一下参数个数对应的不同意思:

inset( 
        <top> <right> <bottom> <left> /* 四个方向的向内偏移量 */
        round <top-radius> <right-radius> <bottom-radius> <left-radius> /* 四个圆角半径 */ );

 即:

  • 一个参数:inset(10px),代表 top right bottom left 边距都是10px
  • 两个参数:inset (10px,20px),代表 top bottom 为10px,left right为20px
  • 三个参数:inset (10px,20px,30px),代表 top 为10px,left right 为20px,bottom为30px。
  • 四个参数:inset (10px,20px,30px,40px),代表 top 为10px,right 为20px,bottom 为30px,left 为40px。 

注意:若只想设置两个参数,且表示 top right 的值,可以使用 inset(10px 20px auto auto),在定位时不可直接写0。即想仅指定某些位置时,未被指定的位置需要使用auto填充而非直接填充0

以上规律在大部分代表位置的四个参数属性中也适用。


但是我们有时候会遇到不止4个参数的情况,比如MDN官网示例:

clip-path: inset(4rem 20% round 1rem 2rem 3rem 4rem);

先说意思:这个是 top bottom 为4rem, left right 为20% 。round 代表其后面的参数为设置圆角,

<top-radius> 左上角圆角半径1rem
<right-radius> 右上角圆角半径 2rem
<bottom-radius> 右下角圆角半径 3rem
<left-radius> 左下角圆角半径4rem

 即当inset有一个参数为 round 时,他前面的参数就代表设置位置,他后面的参数就代表设置圆角。圆角也有可以有四个参数,以左上开始,参数的个数对应的圆角和上面位置参数对应的一致。


 常见的使用场景:

  1. 绝对定位/伪元素定位:可以设置 inset : 0; 这样可以直接让伪元素完全覆盖父元素。设置为负数还能向外拉伸。
  2. clip-path : 可以作为剪裁的参数。

    以上就是我对inset属性的一些理解,欢迎大家指正和补充,一起学习,谢谢大家

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐