BEM是Block-Element-Modifier的缩写。这是一种以易于支持和开发的方式命名HTML DOM元素,CSS类,JavaScript变量和其他Web编程标识符的约定。它可以用于单个网站的单独开发,也可以用于跨多个网站的大型团队。
我已经准备好了css代码,但是我想将其重写为scss。但是当我这样做时,嵌套不起作用怎么办? html: 我已经准备好了css代码,但我想将其重写为scss。但是当我这样做时,嵌套不起作用怎么办? html: <header class="header"> <div class="container"> <div class="header__side"> <nav class="header__nav"> <ul class="header__list"> <li class="header__item"> <span>Catalog</span> <ul class="header__list"> <li class="header__item"> <a href="#">Channels</a> </li> <li class="header__item"> <a href="#">Chats</a> </li> <li class="header__item"> <a href="#">Bots</a> </li> </ul> </li> </ul> </nav> </div> </div> </header> CSS: .header__nav .header__list { padding: 0; margin: 0; list-style: none; position: relative; } 这就是我正在努力做的事情 .header { ... &__nav { margin: 10rem 0; &__list { padding: 0; margin: 0; list-style: none; position: relative; } } } 我只是有很多这样的块,我不想重复自己并像这样写它们 .header { &__nav &__list &__item {} &__nav &__list &__list {} &__nav &__list &__item:hover>&__list {} &__nav &__list &__list &__item {} } 当您将 SCSS 与 BEM 结合使用时,将元素嵌套在块内而不是其他元素内非常重要。这是重写代码的更好方法。 .header { // Main block &__nav { margin: 10rem 0; // Element under header__nav &__list { padding: 0; margin: 0; list-style: none; position: relative; // Element inside header__nav__list &__item { // Styles for list item } // Nested list inside header__nav__list &__list { // Styles for nested list // Hover state for item to display nested list &__item:hover > & { // Styles for nested list when hovered } } } } } <header class="header"> <div class="container"> <div class="header__side"> <nav class="header__nav"> <ul class="header__list"> <li class="header__item"> <span>Catalog</span> <ul class="header__list"> <li class="header__item"> <a href="#">Channels</a> </li> <li class="header__item"> <a href="#">Chats</a> </li> <li class="header__item"> <a href="#">Bots</a> </li> </ul> </li> </ul> </nav> </div> </div> </header>
删除/修改默认 WordPress 类/模板以实施 BEM 是否安全?
我正在使用 BEM 方法创建一个 WordPress 主题以供公开发布。为了实现 BEM 方法,我删除/修改了一些默认的 WordPress 模板和类。例如,实施...
很多人这样命名他们的类:header-menu,而我个人更喜欢 header_logo;因为对于懒惰的编码人员来说,它更容易阅读和复制粘贴。 BEM 有什么显着差异吗
我有组件按钮 我有组件按钮 <button type="button" className="button button_size_large button_color_primary button_type_fill"> <Icon className="button__icon" type={'bc-icon-info'} disabled={false} isFilled={true} /> <span className="button__text">Button</span> </button> 每个修饰符都发生变化 button_color_primary 按钮类型填充 按钮_类型_轮廓 按钮_类型_文本 按钮_颜色_次要 按钮类型填充 按钮_类型_轮廓 按钮_类型_文本 button_color_danger 按钮类型填充 按钮_类型_轮廓 按钮_类型_文本 等等... 在 scss 中我创建了这个 &_color_primary { &.button_type_fill { &:hover {} &:focus {} &:active {} &:disabled {} .button__text { } .button__icon { } } &.button_type_outline { &:hover {} &:focus {} &:active {} &:disabled {} .button__text { } .button__icon { } } &.button_type_text { &:hover {} &:focus {} &:active {} &:disabled {} .button__text { } .button__icon { } } } 这样对于 _secondary 来说,_danger。 我认为这不是一个好方法。请提供您的建议。 您可以为全局选择器设置全局样式,例如button_type_fill,然后仅在变体中设置颜色,例如button_color_primary
如何使用 stylelint 对 Harry Robert 的 BEM 约定进行 lint?
PostCSS BEM Linter 插件需要为每个块定义组件,这在遗留项目中是一件耗时的事情。 有没有办法使用 stylelint 来检查类模式并......
BEM 样式 CSS - 我可以在 BEM 类中传递动态值吗
我正在 React 和 BEM 中编写动画,并且有一个动态动画速度,该速度根据容器宽度而变化: const 动画 = () => { const setScrollingSpeed = (节点列表, timePixel,
我正在使用 Sass 3.4.1 和 BEM 所以我的 scss 是: 。今日图片{ & - 标题{ 字体大小:16px; } } 我希望每次将鼠标悬停在 .photo-of-the-day 上时,标题都会发生一些事情,t...
我目前正在尝试在培训项目中使用 BEM。首先。我喜欢 CSS 中有结构。但是,我在正确使用 BEM 时遇到问题。在目前的情况下,我不知道我是否...
使用 BEM 和 vanilla CSS 时如何组织全局排版样式?
我正在开发一个使用 BEM 和 vanilla CSS 的应用程序。设置可在其他块/元素之间重用的共享版式样式的最佳方法是什么? 我有几个选择...
在 BEM 中,我知道使用修饰符时,两个破折号是有意义的,这样您就可以区分 my-block-my-modifier 和 my-block--my-modifier 中的修饰符。 但为什么使用 block__element 而不是
我在标题上有两个类:.header-container 和一个主题类,例如纯绿色或纯蓝色。 当前标记在应用相关主题样式方面工作正常,但是...
How to style buttons using BEM?
我是 html/css 的新手,我正在学习 BEM css 方法,但我很早就陷入困境。 我想做什么: 有一个按钮块 有一个颜色修饰符(默认/primaryColor) 有不同的按钮
bem 元素规则说。 创建一个元素 如果一段代码在没有父实体(块)的情况下不能单独使用。 例外情况是必须将元素分成更小的部分 –
在材料用户界面中进行类似于sass的插值,以获得类似于BEM的类名。
const useStyles = makeStyles({ block: { `${&}__element `: { color: 'green', } }, }); 上面的代码在素材UI中无法使用。有没有什么方法可以将父 ...
下面是我现在的头结构。页面(根)组件是隐含的。正如你所看到的,social-links块的几何体目前由header__social-links mix处理(绝对位置相对于...