广告
返回顶部
首页 > 资讯 > 精选 >css命名:BEM, scoped css, css modules与css-in-js的示例分析
  • 328
分享到

css命名:BEM, scoped css, css modules与css-in-js的示例分析

2023-06-08 02:06:35 328人浏览 八月长安
摘要

小编给大家分享一下CSS命名:BEM, scoped css, css modules与css-in-js的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!css 作用域是全局的,项目越来越大,人越来越多,命名慢慢成

小编给大家分享一下CSS命名:BEM, scoped css, css modules与css-in-js的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

css 作用域是全局的,项目越来越大,人越来越多,命名慢慢成为问题,以下是几种解决命名问题的方案

一. BEM

以 .block__element--modifier 形式命名,命名有含义,block 可视为模块,有一定作用域含义

实例

.dropdown-menu__item--active

二. scoped css

参考:Vue-loader.vuejs.org/zh/guide/sc…

目标:当前组件样式不会影响其它组件

给组件的 dom 节点添加惟一属性,并转换 style 标签中的 css 匹配该属性,使得 css 作用域有限

实例

<style scoped>.example {  color: red;}</style> <template>  <div class="example">hi</div></template>

转换结果:

<style>.example[data-v-f3f3eg9] {  color: red;}</style> <template>  <div class="example" data-v-f3f3eg9>hi</div></template>

三. css modules

参考:vue-loader.vuejs.org/zh/guide/cs&hellip;

将 css 的选择器转换成惟一的字符串,运用到 dom。是在用算法命名,记录了人的命名到算法命名的 map 表

实例

<style module>.red {  color: red;}</style><template>  <p :class="$style.red">    This should be red  </p></template>

转换结果:

<style module>._1yZGjg0pYkMbaHPr4wT6P__1 {  color: red;}</style><template>  <p class="_1yZGjg0pYkMbaHPr4wT6P__1">    This should be red  </p></template>

四. css-in-js

参考:GitHub.com/styled-comp&hellip;

将 css 内容用惟一的选择器表示。同 css modules,用算法命名。将 css 视为 js 的字符串,赋予 css 更多能力

实例

<template>  <css-in-js></css-in-js></template> <script>  import styled from 'vue-styled-components';  export default {    components: {      cssInJs: styled.div `                color: red;            `    }  }</script>

转换结果:

<template>    <div class="gXTzCp"></div></template><style>.gXTzCp {    color: red;}</style>

五. 总结

  1. BEM 让命名有规律、有含义,block 可视为模块,有一定作用域含义

  2. scoped css 限定 css 作用域,无关命名。无法适配多套主题

  3. css modules 使用算法命名,没有了命名冲突,也限定了 css 作用域。无法适配多套主题

  4. css-in-js 使用算法命名,拥有 css modules 的优势。同时将 css 视为 js 的字符串,赋予 css 更多能力

看完了这篇文章,相信你对“css命名:BEM, scoped css, css modules与css-in-js的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: css命名:BEM, scoped css, css modules与css-in-js的示例分析

本文链接: https://www.lsjlt.com/news/251209.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • css命名:BEM, scoped css, css modules与css-in-js的示例分析
    小编给大家分享一下css命名:BEM, scoped css, css modules与css-in-js的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!css 作用域是全局的,项目越来越大,人越来越多,命名慢慢成...
    99+
    2023-06-08
  • CSS中BEM命名规范实例分析
    这篇文章主要讲解了“CSS中BEM命名规范实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS中BEM命名规范实例分析”吧!   一什么是BEM命...
    99+
    2022-10-19
  • css中BEM书写规范的示例分析
    这篇文章给大家分享的是有关css中BEM书写规范的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。BEM是基于组件的web开发方法。其思想是将用户界面分隔为独立的块,从而使开发复杂的UI界面变得更简单和快,...
    99+
    2023-06-08
  • css命名规则的示例分析
    这篇文章主要为大家展示了“css命名规则的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css命名规则的示例分析”这篇文章吧。头:header   内容...
    99+
    2022-10-19
  • CSS代码命名规则的示例分析
    小编给大家分享一下CSS代码命名规则的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 1. 技俩属性轨范 单个名目划...
    99+
    2022-10-19
  • CSS中命名规则和命名方法的示例分析
    小编给大家分享一下CSS中命名规则和命名方法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!CSS命名规则  头:hea...
    99+
    2022-10-19
  • CSS压缩与CSS代码压缩还原的示例分析
    这篇文章将为大家详细讲解有关CSS压缩与CSS代码压缩还原的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 紧缩后的CSS代码如何快捷排版好以便于再编纂在批改。...
    99+
    2022-10-19
  • vue.js过渡css类名的示例分析
    这篇文章主要为大家展示了“vue.js过渡css类名的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue.js过渡css类名的示例分析”这篇文章吧。首...
    99+
    2022-10-19
  • CSS不要随意使用Id命名的示例分析
    这篇文章给大家分享的是有关CSS不要随意使用Id命名的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在DIV CSS机关时,CSS代码不能率性应用ID定名,率性滥用c...
    99+
    2022-10-19
  • CSS伪类与伪元素的示例分析
    这篇文章给大家分享的是有关CSS伪类与伪元素的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。伪类伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是...
    99+
    2022-10-19
  • css中counter计数器与content的示例分析
    这篇“css中counter计数器与content的示例分析”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“css中counter计数器与content的示例分析”,小编整理了以下知识点,请大家...
    99+
    2023-06-08
  • Visual Studio 2010扩展让JS与CSS实现折叠的示例分析
    今天就跟大家聊聊有关Visual Studio 2010扩展让JS与CSS实现折叠的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在Visaul Studio 2010中写j...
    99+
    2023-06-17
  • CSS中flex容器与flex属性的示例分析
    小编给大家分享一下CSS中flex容器与flex属性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!flex conta...
    99+
    2022-10-19
  • 字中划线CSS与HTML标签的示例分析
    这篇文章主要介绍字中划线CSS与HTML标签的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1、CSS属性单词和代码 单词:text-decoration 中划线值 ...
    99+
    2022-10-19
  • HTML标签属性与CSS样式的示例分析
    这篇文章将为大家详细讲解有关HTML标签属性与CSS样式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   定义:超文本标记语言   Hypetext Ma...
    99+
    2022-10-19
  • CSS样式表与格式布局的示例分析
    小编给大家分享一下CSS样式表与格式布局的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!样式表CSS(Cascading Style Sheets&nbs...
    99+
    2023-06-08
  • 谷歌浏览器chrome与CSS布局的示例分析
    这篇文章给大家分享的是有关谷歌浏览器chrome与CSS布局的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 畴昔咱们以火狐(Mozilla Firefox)作为标准...
    99+
    2022-10-19
  • CSS中width和height的默认值auto与%示例分析
    这篇文章主要介绍CSS中width和height的默认值auto与%示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!结论width的%:定义基于包含块(父元素)宽度的百分比宽度,会突破父级的限制width的au...
    99+
    2023-06-08
  • webpack与SPA实践之管理CSS等资源的示例分析
    这篇文章主要介绍webpack与SPA实践之管理CSS等资源的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言在学习使用webpack时,我们需要明白无论它怎么设计,它的工...
    99+
    2022-10-19
  • css中td宽度控制定义与设置的示例分析
    这篇文章主要为大家展示了“css中td宽度控制定义与设置的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css中td宽度控制定义与设置的示例分析”这篇文...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作