CSS Combinators

Link to W3Schools

body p = body 里的所有 p descendant
body > p = body first child layer 所有的 p
div + p = div next p (must be next element and only get 1, 如果 next 是 text node or comment is ok) 
div ~ p = div next all p (可以有间隔, get many)
 

CSS Pseudo-classes

Link to W3Schools

p:first-child = p element 同时它是某个 element 的 first child

CSS Pseudo-elements

Link to W3Schools

伪元素用双分号 ::

比较常看到的使用场景, 第一个字特别大

p::first-letter {
color: #ff0000;
font-size: xx-large;
}

前 / 后插入图片

h1::before {
content: url(smiley.gif);
}

user selection

::selection {
color: red;
background: yellow;

不是所有 element 都可以插入伪元素的, 比如 img 就不行.

参考: stackoverflow – Does :before not work on img elements?

CSS Image Sprites

Link to W3Schools

以前常用于把多个 icon 放到 1 个 image 里.

通过 background-image + position 调出图片然后显示某个区域而已

CSS Attribute Selectors

Link to W3Schools

[target] = 有 attribute "target"

[target="_blank"] = 有 attribute "target" 同时 attribute value 是 "_blank"

[title~="flower"] = attribute "title" 同时 value contains a space-separated list of "flower" (e.g. "flower abc", "abc flower", not ok: "abc-flower", "flowerAbc")

[title*="flower"] = attribute "title" 同时 value contains "flower" (没有 space-separated 概念)

[class|="top"] = attribute "class" 同时 value starts with top (必须是完整字, 或者 hypen, e.g. "top", "top-abc", "top-xyz", not ok: "topcontent,", "topAbc") 注: 所以 class 最好还是用 hypen 不要用 camelcase 嘛.

[class^="top"] = attribute "class" 同时 value starts with top 了 "不需要完整字"

[class$="test"] = attribute "class" 同时 ends with test "不需要完整字"

*, ^, $, contains, starts with, ends with 和正则一样, 很好记.

~, | contains, starts with 比较怪.

CSS Forms

Link to W3Schools

input + icon

用 background-image + padding 来做的

去掉 textarea resize

{ resize: none; }

CSS Counters

Link to W3Schools

可以用 CSS 来做 index

CSS 长这样

CSS Units

Link to W3Schools

Absolute Lengths

px, cm, mm

in (inch)  1in = 96px = 2.54cm (电脑 dpi 的情况)

pt (point) 1 pt = 1/72 inch

pc (1pc = 12 pt)

Relative Lengths

em, rem, %,

vw, vh (对应 viewport 的 percentage, 1vw = 1% of viewport width)

冷门的: ex, ch, vmin, vmax

Default Unit

没有 default unit 的, 除了 0 可以不用放 unit, 其它都得放. 参考: CSS Default Units

CSS Specificity

Link to W3Schools

CSS 的优先级是有点复杂的. (CSS order logic)

它有一个跑分机制

4 个 Levels:

Inline styles,

IDs, Classes,

attributes and pseudo-classes,

Elements and pseudo-elements

Start at 0, add 1000 for style attribute, add 100 for each ID, add 10 for each attribute, class or pseudo-class, add 1 for each element name or pseudo-element.

如果同分那就下面覆盖上面.

例子: 一个 div 有 id 也有 class

<div id="dada" class="tata">asdd</div>

CSS

#dada {
background-color: green;
}
.tata {
background-color: red;
}

最终结果是 green, 虽然 .tata 在下面, 但是由于 id add 100, class 只是 add 10, 所以 id 分数比较高.

虽然说 add 10 for each attribute, 按理说我只要有超过 10 个 attribute 就可以超越 id 的 100 分, 但我测试了没有.

所以它的累加只是在平级的时候可以区分, 不是拿来越级的.

!important

#myid {
background-color: blue !important;
}

important 就无视跑分了, 但是如果 2 个 !important 的话就依然看分数

CSS Math Functions

calc, max, min

常用方式

width: calc(100% - 100px);
width: max(50%, 300px);

CSS – W3Schools 学习笔记 (2)的更多相关文章

  1. css居中学习笔记

    css居中学习笔记 一.水平居中 以下面的代码为例: <body> <div class="parent"> <div class="chi ...

  2. CSS 3 学习笔记

    css 3 学习笔记 文本: word-wrap : normal | break-word取值:normal:    控制连续文本换行.break-word:    内容将在边界内换行.如果需要,词 ...

  3. (2)《Head First HTML与CSS》学习笔记---img与基于标准的HTML5

    1.浏览器处理图像的过程: 1.服务器获取文件,显示出文本结构,以及预留默认的大小给<img>(如果该<img>有width-1值和height-1值,则根据这个值提前设好页面 ...

  4. CSS入门学习笔记

    CSS入门学习笔记一.CSS简介1.什么是CSS?2.为什么使用CSS?3.CSS的作用二.CSS语法1.CSS基础语法2.CSS注释语法3.CSS应用方法三.CSS选择器1.元素选择器2.类选择器3 ...

  5. 【干货】Html与CSS入门学习笔记1-3

    从23号开始用了4天时间看完了<Head First Html与CSS>这本书,本书讲解方式深入浅出,便于理解,结合习题,便于记忆,是一本不错的入门书.下面是本书的学习笔记: 一.认识HT ...

  6. (6)《Head First HTML与CSS》学习笔记---结尾、《HTML5权威指南》读书笔记

    1.内联元素的外边距.内边距与块元素稍有不同. 如果一个内联元素四周都增加外边距,只能看到左边和右边会增加空间:你也可以对内联元素的上下增加内边距,不过这个内边距不会影响包围它的其他内联元素的间距—— ...

  7. HTML&CSS基础学习笔记1.16-单元格间距和表格主体

    上一篇讲html学习笔记,讲过了合并单元格,那么今天就来介绍下如何控制单元格的间距,以及表格主体的相关知识. 单元格间距 在上个知识点的显示结果中你可能发现了,单元格与单元格之间有一小段空白.这是由& ...

  8. HTML&CSS基础学习笔记—创建列表

    创建一张表格 很多时候我们需要在网页上展示一些数据,使用表格可以很好的来展示数据. 在HTML中<table>标签定义 表格. <table> </table> 添 ...

  9. HTML&CSS基础学习笔记1.32-选择器是什么

    选择器是什么 选择器是CSS样式为了定位页面上的任意元素的一种方法. 选择器主要分为:元素标签选择器.通用选择器.类选择器.ID选择器.属性选择器.组合选择器.伪类选择器.伪元素选择器. 先做个了解, ...

  10. HTML&CSS基础学习笔记1.31-像素和相对长度

    像素和相对长度 之前的笔记中,我们提到过用属性width.height来设置图片的尺寸,它们的单元都是”px(像素)”.长度单位总结一下,目前比较常用到px(像素).em.% 百分比,要注意其实这三种 ...

随机推荐

  1. oeasy教您玩转vim - 90 - # 语法定义syntax

    ​ 内容查找 grep 回忆 我们这次研究了一下配色方案 murphy虽然配色好看 但是对于java的支持并不好 我们对于murphy进行了修改 增加了String.StorageClass颜色的定义 ...

  2. iOS开发基础135-Core Data

    Objective-C (OC) 中使用 Core Data 是iOS应用开发中管理模型层对象的一种有效工具.Core Data 使用 ORM (对象关系映射) 技术来抽象化和管理数据.这不仅可以节省 ...

  3. windows terminal 添加git bash

    打开windows terminal点击设置 修改文件 找到profiles-->list添加一个节点 { "commandline": "C:\\Program ...

  4. 写写stream流的终结操作

    终结操作和中间操作的区别:中间操作返回的一直都是stream,所以可以一直使用,但是终结操作返回的不是stream,后面不能继续操作 foreach:对流中的所有元素进行遍历操作 count:获取当前 ...

  5. python 返回实例对象个数

    python 返回实例对象个数 Python 没有提供任何内部机制来跟踪一个类有多少个实例被创建了,或者记录这些实例是些什么东西.如果需要这些功能,你可以显式加入一些代码到类定义或者__init__( ...

  6. 【DataBase】MySQL根据父节点查询下面的所有子节点

    表结构如下: /* Navicat Premium Data Transfer Source Server : 主机 Source Server Type : MySQL Source Server ...

  7. 【DataBase】局域网访问Windows系统下的MySQL8

    Windows服务主机已经安装好MySQL8并且配置了用户密码 MySQL8更改用户密码: ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' ...

  8. 【ECharts】02 饼图

    饼状图: <!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="width: 600px;he ...

  9. 从.net开发做到云原生运维(五)——云原生时代绕不开的Kubernetes

    1. 前言 前面的几篇文章主要是讲.net技术栈里的web开发技术,只是单纯的开发,从一个简单的项目到最后的打包成镜像进行分发. Kubernetes算是开启了一个新时代. 2. Kubernetes ...

  10. NVIDIA Omniverse Audio2Face的简介

    相关: https://www.zhihu.com/zvideo/1548363713740226561 建议参看: https://www.aiwht.com/sites/3406.html htt ...