[CSS] Reduce Ambiguity in Class Names using a Naming Convention

A solid naming convention makes it less likely to run into naming conflicts and helps establish a semantic pattern that is easier for a team to follow. In this lesson, I‘m using a variation of the BEM (Block Element Model) naming convention. OOCSS and SMACSS offer similar methodologies. I also use the class attribute selector to target multiple modifier classes.

.todo-list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  order: -1;
  display: flex;
  flex-direction: column;
}
[class^="todo-list__item"] {
  cursor: pointer;
  height: 80px;
  display: block;
  text-transform: uppercase;
  color: #af544f;
  letter-spacing: 2px;
  box-sizing: border-box;
  padding: 27px 33px 0 78px;
  box-shadow: 0 1px 0 0 #e6e6e6, 0 2px 0 0 white;
  background-image: url(‘https://jsbin-user-assets.s3.amazonaws.com/GarthDB/box.svg‘);
  background-repeat: no-repeat;
  background-position: 28px 16px;
}
.todo-list__item--completed {
  color: #16a085;
  background-image: url(‘https://jsbin-user-assets.s3.amazonaws.com/GarthDB/done.svg‘)
}
const Todo = ({
  onClick,
  completed,
  text
}) => (
  <li
    onClick={onClick}
    className={
      completed ?
        "todo-list__item--completed" :
        "todo-list__item--active"
    }
  >
    {text}
  </li>
);
时间: 2024-12-16 16:04:10

[CSS] Reduce Ambiguity in Class Names using a Naming Convention的相关文章

关于CSS需要知道的10件事

原文: http://dsheiko.com/weblog/10-things-to-need-to-know-about-css CSS may look as a simple language. In fact it can be simple only to use, but definitely not simple to maintain. CSS看起来是个简单的语言,实际上只是使用较为简单,但是很显然维护它并不简单. Observing that the maximum numbe

CSS进阶( Leveling up in CSS)

原文[:Leveling up in CSS] CSS seems easy at first. After all, it's just styling, right? But, give it time. Soon, CSS will show you the true depths of its complexity. There are four things you can do to stay sane while using CSS at scale: use proper sem

[React] {svg, css module, sass} support in Create React App 2.0

create-react-app version 2.0 added a lot of new features. One of the new features is added the svgr webpack loader to wrap SVGs in React components as a named export. This let’s you either grab the filename from the default export or grab a wrapped S

css设计模式

(转载)原版地址:https://kb.cnblogs.com/page/551422/ 什么是设计模式? 曾有人调侃,设计模式是工程师用于跟别人显摆的,显得高大上:也曾有人这么说,不是设计模式没用,是你还没有到能懂它,会用它的时候. 先来看一下比较官方的解释:"设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码

前端开发工程师 - 01.页面制作 - 第4章.CSS

第4章.CSS CSS简介 Cascading Style Sheet 层叠样式表:定义页面中的表现样式 history: CSS1(1996)--CSS2(1998)--着手CSS3草案(拆分成很多模块)(2001)--CSS2.1修订(2007)--全面推广on-going(部分属性已经实现) 如何引入CSS? 外部样式表:页面的样式多 <head> <link rel="stylesheet" href="base.css"> <

CSS:命名规范心得分享

一个好的命名习惯(当然这里指的并不仅仅是CSS命名).不仅可以提高开发效率,而且有益于后期修改和维护. 假设我们当前使用的命名方式都是约定成俗的,所有人都是这样写,那么你去到一个新团队,或者别人来接手你的工作,都可以大大缩短去阅读别人代码的时间. 一个规范化的命名,不用说,只要想想就能体会到其中的好处了. CSS:命名规范心得分享 板块(Plate) 命名(Naming) 说明(Description)   主容器 wrapper 页面上最大的外部容器,如无特殊需求,不推荐使用 页面头部 hea

【转】没那么难,谈CSS的设计模式

什么是设计模式? 曾有人调侃,设计模式是工程师用于跟别人显摆的,显得高大上:也曾有人这么说,不是设计模式没用,是你还没有到能懂它,会用它的时候. 先来看一下比较官方的解释:"设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的结构一样." 今天我们来

在django中访问静态文件(js css img)

刚开始参考的是别的文章,后来参考文章<各种 django 静态文件的配置总结>才看到原来没有但是没有注意到版本,折腾了一晚上,浪费了很多很多时间.后来终于知道搜索django1.7访问静态文件.真是傻×. 环境:python 2.7.3django 1.7.5 django是不善于处理静态文件这种事情的.这样的工作要交给nginx或者apache这样的服务器.但是在调试时还是要配置一下的django 1.7.5配置访问静态文件貌似比其他的版本都要简单一些.只需要如下步骤: 收集静态文件,然后放

The Modern JavaScript Developer’s Toolbox

The Modern JavaScript Developer’s Toolbox Posted by David Haney on Mar 09, 2015 The Web Platform has gone a long way since HTML5 was first made popular and people started looking into JavaScript as a language that could do build complex apps. Many AP