笔记参考b站网课:【前端开发入门教程,web前端零基础html5 +css3+前端项目视频教程】https://www.bilibili.com/video/BV1Kg411T7t9?p=124&vd_source=06e5549bf018e111f4275c259292d0da
目录
写在前面:CSS怎么学?
在学习前端之前,我向一些学长请教了前端三剑客(HTML、CSS、JavaScript)的学习经验。
学长们的一致建议是:HTML和CSS可以快速过,JavaScript要多花点时间深入学习。
CSS入门容易,精通难。因为CSS的属性很多,一个一个去学去记根本不可能,我们要善于借助网络工具。关于HTML和CSS的学习资源,网上的在线教程、速查宝典就有一大推。所以只要了解HTML和CSS标签及属性的基本用法,再借助于在线文档,基本上HTML和CSS的学习就不会有太大问题。
但是要提醒大家的是,不要完全依赖于在线文档。最基本的一些属性(比如字体样式、文本样式等)还是需要掌握并且熟练使用,我写这篇博客就是为了让大家更好地熟悉并运用CSS的常见属性。
一、CSS引入方式
1、内嵌式:CSS写在style标签中
提示:style标签虽然可以写在页面任意位置,但是通常约定写在 head 标签中
作用范围:当前页面
使用场景:小案例(课后练习案例)
2、外联式: CSS写在一个单独的css文件中
提示:需要通过link标签在网页中引入(例如:<link rel="stylesheet" href="./my .css">)
作用范围:可作用于多个页面
使用场景:项目中
3、行内式:CSS写在标签的style属性中
提示:之后会配合js使用
作用范围:当前标签
使用场景:配合js使用
二、基础选择器
1、标签选择器
结构:标签名{css属性名: 属性值;}
作用:通过标签名,找到页面中所有这类标签,设置样式
注意点:
1、标签选择器选择的是一类标签,而不是单独某一个
2、标签选择器无论嵌套关系有多深,都能找到对应的标签
2、类选择器
结构:.类名{css属性名: 属性值;}
作用:通过类名,找到页面中所有带有这个类名的标签,设置样式
注意点:
1、所有标签上都有class属性,class属性的属性值称为类名 (类似于名字)
2、类名可以由数字、字母、下划线、中划线组成,但不能以数字或者中划线开头
3、一个标签可以同时有多个类名,类名之间以空格隔开
4、类名可以重复,一个类选择器可以同时选中多个标签
3、id选择器
结构: #id属性值{css属性名: 属性值;}
作用: 通过id属性值,找到页面中带有这个id属性值的标签,设置样式
注意点:
1、所有标签上都有id属性
2、id属性值类似于身份证号码,在一个页面中是唯一的,不可重复的!
3、一个标签上只能有一个id属性值
4、一个id选择器只能选中一个标签
4、通配符选择器
结构:*{css属性名:属性值;}
作用:找到页面中所有的标签,设置样式
注意点:
1.开发中使用极少,只会在极特殊情况下才会用到
2.在小页面中可能会用于去除标签默认的margin和padding
上图中,margin和padding的作用是去除标签之间默认的内外边距
三、字体样式
1、字体大小:font-size
属性名:font-size
取值:数字 + px
注意点:
谷歌浏览器默认文字大小是16px
单位需要设置,否则无效
2、字体粗细:font-weight
取值:
1、关键字
正常:normal
加粗:bold
2、纯数字:100~900的整百数(工作中更常用)
正常:400
加粗:700
注意点:
不是所有字体都提供了九种粗细,因此部分取值页面中无变化
实际开发中以:正常、加粗两种取值使用最多
3、字体样式(是否倾斜):font-style
取值:
正常:normal(常用于取消倾斜效果)
倾斜:italic
4、字体系列:font-family
常见取值: 具体字体1,具体字体2,具体字体3,具体字体4,.....,字体系列具体字体:“Microsoft YaHei”、微软雅黑、黑体、宋体、楷体等.....
字体系列: sans-serif、serif、monospace等.....
渲染规则:
1. 从左往右按照顺序查找,如果电脑中未安装该字体,则显示下一个字体
2. 如果都不支持,此时会根据操作系统,显示最后字体系列的默认字体
注意点:
1. 如果字体名称中存在多个单词,推荐使用引号包裹
2. 最后一项字体系列不需要引号包裹
3. 网页开发时,尽量使用系统常见自带字体,保证不同用户浏览网页都可以正确显示
4. Windows系统默认字体是微软雅黑,macOS默认字体是苹方
5、常见字体系列(了解即可)
无衬线字体(sans-serif)
1.特点:文字笔画粗细均匀,并且首尾无装饰
2.场景:网页中大多采用无衬线字体
3.常见该系列字体:黑体、Arial
衬线字体 (serif)
1.特点:文字笔画粗细不均,并且首尾有笔锋装饰
2.场景:报刊书籍中应用广泛
3.常见该系列字体: 宋体、Times New Roman
等宽字体 (monospace)
1.特点:每个字母或文字的宽度相等
2. 场景:一般用于程序代码编写,有利于代码的阅读和编写
3.常见该系列字体: Consolas、fira code
6、字体font相关属性的连写
取值:
font : style weight size family
省略要求:
只能省略前两个,如果省略了相当于设置了默认值
注意点:
如果需要同时设置单独和连写形式
要么把单独的样式写在连写的下面
要么把单独的样式写在连写的里面
7、样式的层叠问题
给同一个标签设置了相同的样式,此时浏览器会如何渲染呢?
结果:
如果给同一个标签设置了相同的属性,此时样式会层叠(覆盖),写在最下面的会生效
CSS (Cascading style sheets) 层叠样式表
所谓的层叠即叠加的意思,表示样式可以一层一层的层叠覆盖
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS基础笔记</title>
<style>
.ziti {
font-size: 30px;
font-weight: 700;
font-style: italic;
font-family: 楷体, sans-serif;
}
.lianxie {
font: italic 700 30px 楷体;
}
</style>
</head>
<body>
<p class="ziti">字体大小设置为30px,并加粗显示</p>
<div class="lianxie">font属性字体连写:字体大小设置为30px,并加粗显示,并设置为斜体,并设置为楷体</div>
</body>
</html>
浏览器预览效果
四、文本样式
1、文本缩进:text-indent
取值:
1、数字+px
2、数字+em (推荐使用 1em =当前标签的font-size的大小)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS基础笔记</title>
<style>
.suojin {
text-indent: 2em;
} </style>
</head>
<body>
<p class="suojin">《瓦尔登湖》共由18篇散文组成,在四季循环更替的过程中,详细记录了梭罗内心的渴望、冲突、失望和自我调整,以及调整过后再次渴望的复杂的心路历程,几经循环,直到最终实现为止。表明了作者用它来挑战他个人的、甚至是整个人类的界限。但这种挑战不是对实现自我价值的无限希望,而是伤后复原的无限力量。
</p>
<p class="suojin">在《经济篇》中,作者描述了自己开始自给自足的生活,并叙述了与农夫和邻里的交往。正是在这种亲身体验与交往中,作者了解到农民生活的艰难,批判了那些富人奢侈的生活,认为“大多数的奢侈品,大部分的所谓生活的舒适,非但没有必要,而且对人类进步大有妨碍”。</p>
</body>
</html>
浏览器预览效果
2、文本水平对齐方式:text-align
取值:
属性值
左对齐:left
居中对齐:center
右对齐:right
注意点:
如果需要让文本水平居中,text-align属性给文本所在标签 (文本的父元素)设置
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS基础笔记</title>
<style>
.duiqi{
text-align: center;
}
</head>
<body>
<p class="duiqi">我要居中对齐!!!</p>
</body>
</html>
3、文本修饰:text-decoration
下划线(常用):underline
删除线(不常用):line-through
上划线(几乎不用):overline
无装饰线(常用):none
注意点:
开发中会使用 text-decoration:none;清除a标签默认的下划线
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS基础笔记</title>
<style>
.xiushi1{
text-decoration:none;
}
.xiushi2{
text-decoration: underline;
}
</head>
<body>
<a href="https://www.baidu.com/?tn=94819464_hao_pg" class="xiushi1" target="_blank">点我跳转到百度哟!</a>
<p class="xiushi2">快给我加上下划线吧~</p>
</body>
</html>
浏览器预览效果
4、行高:line-height
取值:
1、数字+px
2、倍数(当前标签font-size的倍数)
应用:
1.让单行文本垂直居中可以设置 line-height:文字父元素高度
2.网页精准布局时,会设置 line-height:1 可以取消上下间距
行高与font连写的注意点:
如果同时设置了行高和font连写,注意覆盖问题
font : style weight size/line-height family
五、颜色
这个内容了解即可,因为设定颜色值是UI设计师的任务。
属性名:
如:文字颜色: color
如:背景颜色: background-color
六、标签水平居中方法总结 margin: 0 auto
如果需要让div、p、h (大盒子) 水平居中,可以通过margin:0 auto;实现
注意点:
1. 如果需要让 div、p、h (大盒子) 水平居中,直接给当前元素本身设置即可
2. margin: 0 auto一般针对于固定宽度的盒子,如果大盒子没有设置宽度,此时会默认占满父元素的宽度
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS基础笔记</title>
<style>
.divstyle{
background-color: rgb(93,397,255);
width: 300px;
height: 200px;
margin: 0 auto;
}
</head>
<body>
<div class="divstyle"></div>
</body>
</html>
浏览器预览效果(只看中间的蓝色色块)
七、谷歌调试工具
按下F12进入开发者模式,可查看页面源代码(页面如下图所示)
其中,左侧是HTML面板,右侧是CSS面板(如下图)
未被执行的代码会出现删除线(如下图)
若出现黄色三角警告标志,说明代码有语法错误(如下图,错误原因是少了分号)
可直接在调试工具的CSS面板上修改属性值,修改后预览效果会改变,但不会改变源代码,刷新浏览器之后会变回修改前的代码。还可以手动调整语句的执行,打勾代表执行,否则不执行。