尽量使用缩写属性

border-top-style: none;

font-family: palatino, georgia, serif;

font-size: 100%;

line-height: 1.6;

padding-bottom: 2em;

padding-left: 1em;

padding-right: 1em;

padding-top: 0;

border-top: none;

font: 100%/1.6 palatino, georgia, serif;

padding: 0 1em 2em;

省略“0”值后面的单位

声明顺序

结构性属性:

display

position, left, top, right etc.

overflow, float, clear etc.

margin, padding

表现性属性:

background, border etc.

font, text

使用分号结束声明,每个选择器/属性都使用新的一行

属性冒号后使用一个空格

.test {

display: block;

height: 100px;

}

scss避免嵌套没有任何内容的选择器

不推荐

.content {

display: block;

.news-article {

.title {

font-size: 1.2em;

}

}

}

推荐

.content {

display: block;

.news-article > .title {

font-size: 1.2em;

}

}

上下文媒体查询

媒体查询可以嵌套在选择器中

.content-page {

font-size: 1.2rem;

@media screen and (min-width: 641px) {

font-size: 1rem;

}

.main {

background-color: whitesmoke;

> .latest-news {
padding: 1rem; > .news-article {
padding: 1rem; > .title {
font-size: 2rem; @media screen and (min-width: 641px) {
font-size: 3rem;
}
}
}
} > .content {
margin-top: 2rem;
padding: 1rem;
}

}

.page-footer {

margin-top: 2rem;

font-size: 1rem;

@media screen and (min-width: 641px) {
font-size: 0.8rem;
}

}

}

嵌套顺序和父级选择器(SCSS)

当前选择器的样式属性

父级选择器的伪类选择器 (:first-letter, :hover, :active etc)

伪类元素 (:before and :after)

父级选择器的声明样式 (.selected, .active, .enlarged etc.)

用Sass的上下文媒体查询

子选择器作为最后的部分

.product-teaser {

// 1. Style attributes

display: inline-block;

padding: 1rem;

background-color: whitesmoke;

color: grey;

// 2. Pseudo selectors with parent selector

&:hover {

color: black;

}

// 3. Pseudo elements with parent selector

&:before {

content: "";

display: block;

border-top: 1px solid grey;

}

&:after {

content: "";

display: block;

border-top: 1px solid grey;

}

// 4. State classes with parent selector

&.active {

background-color: pink;

color: red;

// 4.2. Pseuso selector in state class selector
&:hover {
color: darkred;
}

}

// 5. Contextual media queries

@media screen and (max-width: 640px) {

display: block;

font-size: 2em;

}

// 6. Sub selectors

.content > .title {

font-size: 1.2em;

// 6.5. Contextual media queries in sub selector
@media screen and (max-width: 640px) {
letter-spacing: 0.2em;
text-transform: uppercase;
}

}

}

前端开发规范:3-CSS的更多相关文章

  1. 前端开发规范:命名规范、html 规范、css 规范、js 规范

    上周小组的培训内容是代码可读性艺术,主要分享如何命名.如何优化代码排版,如何写好的注释.我们都知道写出优雅的代码是成为大牛的必经之路. 下面感谢一位前端开发小伙伴总结的前端开发规范,通过学习相关开发规 ...

  2. WEB前端开发规范

    WEB前端开发规范 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档.本文档如有不对或者不合适的地方请及时提出, 经讨论决定后方可更改. 基本 ...

  3. WEB前端开发规范文档(转)

    http://codeguide.bootcss.com/  编写灵活.稳定.高质量的 HTML 和 CSS 代码的规范上面的文档 再结合下面的规范: 无论是从技术角度还是开发视角,对于web前端开发 ...

  4. 网站开发进阶(三十八)Web前端开发规范文档你需要知道的事

    Web前端开发规范文档你需要知道的事 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进 ...

  5. 好程序员web前端开发测验之css部分

    好程序员web前端开发测验之css部分Front End Web Development Quiz CSS 部分问题与解答 Q: CSS 属性是否区分大小写? <p><font si ...

  6. Web前端开发规范文档你需要知道的事

    Web前端开发规范文档你需要知道的事 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进 ...

  7. WEB前端开发规范文档[转]

    为新项目写的一份规范文档, 分享给大家. 我想前端开发过程中, 无论是团队开发, 还是单兵做站, 有一份开发文档做规范, 对开发工作都是很有益的. 本文档由本人编写, 部分意见来源于网络, 以此感谢, ...

  8. Web 前端开发规范手册

    一.规范目的 Web 前端开发规范手册 1.1 概述 ......................................................................... ...

  9. Web前端开发如何利用css样式来控制Html中的h1/h2/h3标签不换行

      H1/H2/H3/H4标题标签常常使用在一个网页中唯一标题.重要栏目.重要标题等情形下. H1在一个网页中最好只使用一次,如对一个网页唯一标题使用.H2.H3.H4标签则可以在一个网页中多次出现, ...

  10. Web前端开发规范文档你需要知道的事--HTML、css、js、文档等需要规范内容

          规范目的 为提高团队协作效率,便于后台人员添加功能及前端后期优化维护,输出高质量的文档,特制订此文档.本规范文档一经确认,前端开发人员必须按本文档规范进行前台页面开发.本文档如有不对或者不 ...

随机推荐

  1. 如何用vue-cli3脚手架搭建一个基于ts的基础脚手架

    目录 准备工作 搭建项目 vue 中 ts 语法 项目代理及 webpack 性能优化 其他 忙里偷闲,整理了一下关于如何借助 vue-cli3 搭建 ts + 装饰器 的脚手架,并如何自定义 web ...

  2. Spring Boot 整合 Druid

    Spring Boot 整合 Druid 概述 Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池.插件框架和 SQL 解析器组成.该项目主要是为了扩展 JDBC 的一些限制,可以让程 ...

  3. python scapy的使用总结

    基本命令 ls() List all available protocols and protocol options lsc() List all available scapy command f ...

  4. windows程序设计01_utf8编码问题

    坚持与妥协 从学程序的第一天老师就给我们说源代码应该使用utf8保存.因为先入为主,"源代码应该使用utf8"的观念已经在"学院派"出身的程序员脑子里根深蒂固. ...

  5. java8新特性 - 什么是函数式接口 @FunctionalInterface?

    什么是函数式接口 @FunctionalInterface 源码定义 /** * An informative annotation type used to indicate that an int ...

  6. Oracle用户、角色、权限

    一.Oracle权限 系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言) 对象权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的) 1.Oracle系统权限 ​ o ...

  7. VMware Fushion解决:与vmmon模块的版本不匹配: 需要385.0,现有330.0。

    可以按下列步骤解决: 1. 退出VMware fusion2. 打开[终端]3. 执行命令:sudo rm -rf /System/Library/Extensions/vmmon.kext ,根据提 ...

  8. CodeForces - 556C Case of Matryoshkas (水题)

    Andrewid the Android is a galaxy-famous detective. He is now investigating the case of vandalism at ...

  9. django基础之day05,orm字段参数,自定义需要的字段,orm中的事务操作

    orm字段和参数 charfield varchar integerfield int bigintegerfield bigint emailfield varchar(254) datefield ...

  10. 运算符副作用总结与例子(js)

    js中运算符副作用总结与例子 js中赋值运算符,递增递减运算符,delete运算符具有副作用,简单地说就是前后表达式的值会相互影响,除此之外其它的js运算符都没有副作用. 但函数表达式和对象创建表达式 ...