从 html 元素继承 box-sizing

box-sizing默认值为 content-box,设置border和padding时会改变width和height

并且不具有继承性,每次设置border或padding时都需要设置一遍box-sizing: border-box;比较麻烦

 

可以这样设置:

      html {
        box-sizing: border-box;
      }
      *,
      *:before,
      *:after {
        box-sizing: inherit;
      }

就不需要每次写padding和border时都加box-sizing: border-box;了

 

vue中如何设置:

  第一种:App.vue中

#app {
  /* start-将box-sizing默认改为border-box,如果需要设置为content-box需要手动加box-sizing: content-box; */
  box-sizing: border-box;
  *,
  *:before,
  *:after {
    box-sizing: inherit;
  }
  /* end */
}

 

  第二种:public/index.html

  <style>
    html {
      box-sizing: border-box;
    }
    *,
    *:before,
    *:after {
      box-sizing: inherit;
    }
  </style>

 

  第三种:main.js中引入

    ①styles/box.less

html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}

    ②main.js

import '@/styles/box.less'

 

 

接手的项目中,不好全局设置box-sizing的继承,只好在单个的组件中设置:

  

posted @ 2022-03-12 13:51  吴小明-  阅读(510)  评论(0编辑  收藏  举报