CSS那些事读书笔记-1
背景
作为一个后端开发,曾经尝试过学习前端,但是总觉不得要领,照猫画虎,而公司里又有专业的前端开发,工作中几乎接触不到实际的前端任务,所以前端的技能田野一直是一片荒芜。但是笔者深知前端的技能对找工作和面试又有着重要的帮助,在二线和三线城市,高级开发几乎都需要精通前端的知识,所以这次下定决定要好好学习一番。这几天搜索到了一本主讲CSS实例的书,开始学习,希望能坚持下去,同时,也希望所记笔记能对大家有所帮助。
笔记参考书籍:CSS那些事儿
CSS基础部分笔记
选择器
选择器有下面几类,按照是否常用依次下排,其中 包含选择器 属性选择器 子选择器和相邻选择器是我比较陌生的
- 通配符选择器:*,用于对页面所有元素,或者某个标签下的所有元素应用格式
- 类选择器:.名
- id选择器:#名
- 包含选择器:p span {} 也是用于某个元素的子元素的,可以对元素的子元素应用某种格式
- 属性选择器:通过属性或者属性值来确定元素
- E[attr]:有某属性的元素
- E[attr="value"]:有某属性并且属性值等于value的元素
- E[attr~="value"]:有某属性,并且属性值中包含空格,按照空格切割属性值,得到的字符数组中有=value的子串
- E[attr|="value"]:有某属性,并且属性值以value开头,并且存在 - 连字符
- 子选择器和相邻选择器
- 子选择器:父元素 > 子元素,必须是下面的第一代直系子代才可以。
- 相邻选择器:元素1 + 元素2,表达的是同一个父级下相邻的兄弟的关系,被选择的是元素1的第一个兄弟元素2
选择器的优先级
首先存在两个基本原则:
- 同一个选择器的效果会覆盖,以文档中更靠后的选择器定义样式为准
- 子类标签会继承父类元素的CSS属性,除了h1~h6
针对同一个标签,使用不同的选择器选择它,优先级如下:
- 标签选择器 伪类和伪对象:1分
- 类选择器和属性选择器:10分
- id选择器:100分
- style属性:1000分
- !important:100000分
书中举了一个例子,我这也实现出来,验证效果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>css优先级</title>
<style>
p{
color:blue;
}
p.myColor{
color:black;
}
.myColor{
color:yellow;
}
#myColor{
color:greenyellow;
}
</style>
</head>
<body>
<p>行1</p>
<p class="myColor">行2</p>
<p class="myColor" id="myColor">行3</p>
<p style="color:red" class="myColor" id="myColor">行4</p>
</body>
</html>
效果如下:

各行的计算分数:
- 行1没有疑问,就只应用了p标签选择器设置的颜色
- 行2可以应用p.myColor 和 .myColor ,按照得分,会应用p.myColor设置的颜色
- p.myColor 得分= 1+10 = 11分
- .myColor 得分 = 10分
- 行3,显而易见,会应用id选择器设置的颜色
- 行4,显而易见,会应用style属性本身设置的颜色
如果在p的标签选择器中应用
p{
color:blue !important;
}
行1到行4都会变成蓝色
盒模型的简要介绍
盒模型在网上已经有很多讲解博客了,基本的知识点就用下图来代替

下面依旧实操书中给的例子来理解盒模型,代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>css盒模型</title>
<style>
div {
width: 200px;
height: 30px;
padding: 20px;
border: 5px solid #FF0000;
margin-bottom: 10px;
color: #FFFFFF;
background-color: #000000;
}
</style>
</head>
<body>
<div>第一个div</div>
<div>第二个div</div>
<div>第三个div</div>
</body>
</html>
效果如下:

内边距为20px,背景颜色包含了内容和内边距的部分。
CSS那些事读书笔记-1的更多相关文章
- css权威指南读书笔记
今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[cla ...
- 《CSS Mastery》读书笔记(2)
第二章 目标的样式 要用CSS样式化一个HTML元素,必须要定位一个元素, CSS的选择器就是这样的手段. 这章中,你要学到的 • Common selectors 普通选择器 • Advanc ...
- 《CSS Mastery》 读书笔记 (1)
--本笔记中英混合,专业名词尽量不翻译,免得误解,如果不习惯,就不用往下看了,走好不送. 第一章 基础 人类的好奇心总是促使我们捣鼓,捣鼓是最好做有效的学习CSS的方法 In this chapter ...
- 【Todo】淘宝十年产品事-读书笔记
书籍位置: /Users/baidu/Documents/Data/Interview/业界/淘宝十年产品事.pdf
- 《CSS世界》读书笔记(十六)
<!-- <CSS世界>张鑫旭著 --> line-height与“垂直居中” line-height 可以让单行或多行元素近似垂直居中,原因在于 CSS 中“行距的上下等分机 ...
- 《CSS世界》读书笔记(十五)
<!-- <CSS世界>张鑫旭著 --> 字母x——CSS世界中隐匿的举足轻重的角色 在各种内联相关模型中,凡是涉及垂直方向的排版或者对齐的,都离不开最基本的基线(baseli ...
- 《CSS世界》读书笔记(十四)
<!-- <CSS世界>张鑫旭著 --> 功勋卓越的 border 属性 border-width 不支持百分比值 border-style 类型 border-style ...
- 《CSS世界》读书笔记(十三)
<!-- <CSS世界>张鑫旭著 --> margin 无效情形解析 (1)display 计算值 inline 的非替换元素的垂直 margin 是无效的.对于内联替换元素, ...
- 《CSS世界》读书笔记(十二)
<!-- <CSS世界>张鑫旭著 --> 正确看待 CSS 世界里的 margin 合并 什么是 margin 合并 块元素的上外边距(margin-top)与下外边距(mar ...
- 《CSS世界》读书笔记(十一)
激进的margin属性 margin与元素尺寸以及相关布局 元素尺寸 border box尺寸,对应jQuery中的$().outerWidth()和$().outerHeight()方法,在原生DO ...
随机推荐
- Chrome谷歌浏览器自动升级后页面字体过小
谷歌浏览器使用一段时间后系统自动升级后页面字体突然变小,如何进行设置呢,如下 1.在页面右上角选择浏览器设置-外观-自定义字体-设置字号等其他需要配置的参数即可
- 「V 曲闲谈」《宠儿》——谁凌迟着梦想家
反正个人博客啥都能写是吧.( 严格来说,这并不是对歌曲或者 PV 的解析,仅仅是记录这首歌带给我的一些感触. 参考:狐狸座 ver & 艾尔法 ver. 按照简介,歌曲的内容似 ...
- Diary -「NOI 2022」尘降
又一次,以这样一种身份来到国赛赛场.起跑线延长出赛场外,我将于此开始又一场已知"无用"的竞技. 虚无中 我的尘埃盲目漂泊摇晃 时间回到数个月前的省选,\(600\) 分的总 ...
- SpringBoot实现人脸识别功能
一.人脸注册 step1:人像采集.在注册页面上用html中video组件和js调用笔记本摄像头,并抓取人像图片.没有摄像头的笔记本.台式机的童鞋告辞吧,走好不送... step2:人像上传至项目文件 ...
- 史上最全MySQL面试60题和答案
Mysql中有哪几种锁? 1.表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低. 2.行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最低,并发度也 ...
- C#从数据库中加载照片的
从数据库中读取人员照片信息并加载到图片控件的代码 string conn = "Server=192.168.xx.xx;Database=dbName;User ID=sa;passwor ...
- 关于hystrix.contrib.javanica.exception.FallbackDefinitionException: fallback method wasn't found异常
在Spring中使用断路器后可能会遇到:com.netflix.hystrix.contrib.javanica.exception.FallbackDefinitionException: fall ...
- JMeter下载与环境配置
前置 使用JMeter前需要先配置好Java的环境变量,不会的朋友可以阅读:https://www.cnblogs.com/test-gang/p/18144441 JMeter下载 JMeter官网 ...
- Flink白话解析Watermark
一.摘要 如果想使用Flink,Flink的Watermark是很难绕过去的概念.本文帮大家梳理Watermark概念 二.Watermark疑问 1.Flink应用的常见需求是什么 如公司运营一个官 ...
- Atcoder ABC392F Insert 题解 [ 绿 ] [ 线段树二分 ] [ 倒序操作 ]
Insert:绷不住了,ds 学傻了导致一直在写一个假的没边的做法,赛后 5min 胡出正解,唐. 思路 首先正着操作想想就觉得不太好搞,所以考虑一个经典 trick:单点正向加入操作转化为倒序删除操 ...