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 ...
随机推荐
- Java验证邮箱是否有用的实现与解析
在现代互联网应用中,邮箱验证是一个常见的需求.通过邮箱验证,开发者可以确保用户提供的邮箱地址是有效的,从而在后续的操作中,如密码重置.通知发送等,依赖这些有效的邮箱地址.本文将详细介绍如何使用Java ...
- ReactNative开发总结
https://www.jianshu.com/u/b09c3959ab3b ReactNative之项目结构介绍 一.初始化ReactNative工程 自动创建iOS和安卓工程,和对应的JS文件,i ...
- RFID基础——概念与分类
RFID 的全称是射频识别技术(Radio Frequency Identification).是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术 ...
- .net core2.2版本下载地址
下载地址: https://download.visualstudio.microsoft.com/download/pr/279de74e-f7e3-426b-94d8-7f31d32a129c/e ...
- 2025 最佳免费商用文本转语音模型: Kokoro TTS
在文本转语音(TTS)技术领域,一项突破性的进展引起了广泛关注--Kokoro TTS 模型凭借其卓越性能和完全免费的商用许可,成为目前最出色的 TTS 解决方案之一.基于广受欢迎的开源框架 Styl ...
- ORACLE存储过程中使用SELECT INOT语句避免NO_DATA_FOUND的方法
oracle存储过程中使用了类似如下语句,当查询不到记录时,会触发"数据未发现"异常 SELECT col INTO v_col FROM t_table 来自网络的方法 1)使用 ...
- 从找朋友到找变位词:一道趣味字符串问题的深入解析|LeetCode 438 找到字符串中所有字母异位词
LeetCode 438 找到字符串中所有字母异位词 点此看全部题解 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中) 生活中的算法 还记得小时候玩的"找朋友&quo ...
- 使用yarn安装依赖包出现“There appears to be trouble with your network connection. Retrying...”超时的提醒
我们在使用yarn安装依赖包文件的时候,可能会出现"There appears to be trouble with your network connection. Retrying... ...
- 硬件设计:POE--POE受电设备(PD)电路工作原理
参考资料:解决POE PD设计挑战的有效的解决方案 POE电源模块的介绍特性和芯片的详细资料概述 如何应对PoE受电设备设计挑战 以太网供电中受电设备的芯片设计与研究 以太网供电检测和分级接口电路设计 ...
- Luogu P10843 Turtle and Cycles 题解 [ 蓝 ] [ 差分 ] [ 前缀和 ] [ 贪心 ] [ 数学 ]
Turtle and Cycles:修改转化为交换差分数组的 trick 运用.这个 trick 实际上在 NOIp2021 里出过一次了. 转化 首先,\(a_{(i - 1) \bmod n} + ...