搜索
您的当前位置:首页正文

重置box-sizing最佳实践

来源:二三娱乐
html{
  box-sizing:border-box;
}
*,*:before,*:after{
  box-sizing:inherit;
}

这将会给你同样的结果,而且会让他更容易在插件和组件中改变box-sizing从而影响他的行为。

更进一步,如果你有一个组件只想用默认的content-box,box-sizing。你只想这样用他,而且不让其混乱


  /* designed to work in default box-sizing */
  /* in your page you could reset it to normal */
  
  box-sizing:content-box;
}

那么问题出现了,这个样式没有重置所有的元素,也许这里有一个<header>在这个组件中,而且希望<header>元素也是content-box,如果这个选项在你的css里面,那么老的重置box-sizing方法

/* this selector is an most 'old way' box-sizing resets*/
*{
  box-sizing:border-box;
}

那么这时候<header>并不是如你所想那样为content-box,他是border-box。像这样:

<div class='component'> <!-- i'am content-box -->
  <header><header> <!-- i'am border-box-->
</div>

为了使重置更简单,更直观,您可以在顶部使用继承的代码段,继承将被保留。

看起来这些改善并没有什么大的意义,或许你用原来的老方法也不会遇到什么问题,我就是这样,但是只要我们推广了一个最佳的代码片段,那么我们就离完美更近了一步。

Top