* 降低耦合度。解耦
* 让分工协作更容易
* 提高开发效率
提倡用小写来书写。
CSS的使用:CSS与html结合方式
内联样式(不推荐使用
内部样式
在head标签内,定义style标签,style标签的标签体内容就是css代码
如:
hello css
外部样式
* index.html
导入外部的CSS文件
hello css
hello css
* a.css文件:
div{
color:green;
}
注意:
1,2,3种方式 css作用范围越来越大
1方式不常用,后期常用2,3
3种格式可以写为:
例如:表示 将 div 下的所有文本 变成 blue色
div{
color:blue;
}
选择器:筛选具有相似特征的元素
分类:
基础选择器
CSDN - 沈七
#CSDN{
color: red;
background-color:antiquewhite;
}
*
**标签选择器:**选择具有相同标签名称的元素
语法: 标签名称{}
注意:id选择器优先级高于元素选择器
CSDN - 沈七
div{
color: red;
background-color:antiquewhite;
}
类选择器:选择具有相同的class属性值的元素。
语法:.class属性值{}
类选择器使用“.”(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)
注意:类选择器选择器优先级高于元素选择器
同时调用多个类选择器时,以 空格
分隔
类选择器名称不能以 数字
开头
C
S
D
N
4. 通配符选择器
* 使用 * 来定义,代表选取页面中的所有标签
*
属性
1. 字体、文本
* font-size:字体大小
* color:文本颜色
* text-align:对其方式
* line-height:行高
2. 背景
* background:
3. 边框
* border:设置边框,符合属性
4. 尺寸
* width:宽度
* height:高度
5. 盒子模型:控制布局
* margin:外边距
* padding:内边距
* 默认情况下内边距会影响整个盒子的大小
* box-sizing: border-box; 设置盒子的属性,让width和height就是最终盒子的大小
* float:浮动
* left
* right
CSS 字体属性用于定义字体系列、大小、粗细和文字样式(如斜体)
用设置字体种类。
div { font-family:Arial,"Microsoft Yahe","微软雅黑"; }
body {
font-family: "Microsoft Yahe",tahoma,arial,"Hiragino Sans GB";
}
使用 font-size 属性设置字体大小
设置文字的粗细。
设置文字的风格,如定义斜体。
但一般开发中需要做的常常是 让倾斜的字体变的不倾斜。
em{
font-style: normal;;
}
倾斜的人
font-size
和font-family
属性,否则 font 属性将不起作用。div {
color: red;
}
用于设置文本内容的水平对齐方式。
div {
text-align:center;
}
默认没有线、下划线、上划线。
添加下划线
div {
text-decoration: underline;
}
删除下划线
a{
text-decoration: none;
}
text-indent 属性用于指定文本的第一行缩进,通常是将段落的首行缩进.
div {
text-indent: 10px;
}
p{
text-indent: 2em;
}
p {
line-height: 26px;
}
后代选择器又称为包含选择器们可以选取父元素里面的子元素。器写法就是把外层标签写在前面,内层标签写在后面,中间用空格分搁。
语法:
元素1 元素2 {
}
注意:元素2 可以是元素1 的任意后代。
例如:
ol li{
color: aliceblue;
}
元素1 元素2 可以是任意选择器
元素1 > 元素2{ 样式声明 }
语法表示选择元素1 里面的所有直接后代(子元素)元素2,例如:
/*选择div里面所有最近一级 P 标签元素*/
div > p{
样式声明
}
并集选择器可以选择多组标签,通过逗号隔开,同时为它们定义相同的样式,并且任何形式的选择器都可以作为并集选择器的一部分。
元素1,元素2{
}
例如:
div,p, .pig li {
}
选出没访问过的链接。
a:link{
color: #000;
}
百度
选择所有已被访问的链接。
a:visited{
text-decoration: none;
color: aqua;
}
选择鼠标经过的那个链接。
a:hover{
color:skyblue;
}
选择的是我们鼠标正在按下还没弹起鼠标的那个链接。
a:active{
color: brown;
font-size:2em;
}
为了确保生效,请按照LVHA的顺序声明:link、visited、hover、active。(lv h a o lv包包好
用于选取获取焦点的表单元素。
焦点就是光标,一般情况 类表单元素才能获取,因此这个选择器也主要针对表单元素来说。
input:focuc{
background -color:yellow;
}
HTML元素分为:块元素和块元素。
注意:
注意:
在行内元素中有几个特殊的标签:《img》《input》《td》他们同时具有块元素和行内元素的特点。
转换为块元素: display:block
a{
width:100px;
height: 50px;
background-color: pink;
display: block;
}
转换为行内元素: display:inline
转换为行内块元素: display:inline-block
当行高等于盒子高度时,中间的文字就被上空隙和下空隙挤到中间来了。
当行高大于盒子高度时,中间的文字就被上空隙挤到下面来了,所以偏下。
当行高小于盒子高度时,中间的文字由于上空隙过小而偏上。
背景属性可以设置背景颜色、背景图片、背景平铺、背景图标位置、背景图片固定。
如果使用背景平铺可以使用 background - repeat 属性。
background-repeat: repeat| no-repeat| repeat-x| repeat-y
background - postion 属性可以改变图片
格式:
background-postion:x y;
参数代表的意思是:x坐标 和 y 坐标。
可以使用 方位名次或者 精确单位。
background -postition: right center ;表示图片是 顶部靠右
并且 right center 和 center right 是等价的。
background -postition: top;表示图片是 顶部居中
如果参数是精确坐标,那么第一个肯定是x坐标,第二个一定是y坐标
如果只指定一个数值,那么该数值一定是 x 坐标,另一个默认垂直居中。
background-attachment 属性设置背景图像是否固定或者随着页面的其余部分滚动
background-attachment : scroll | fixed
参数 | 作用 |
---|---|
scroll | 背景图像是随对象内容滚动 |
fixed | 背景图像固定 |
background:背景颜色 背景图片 地址 背景平铺 背景图像滚动 背景图片位置
background:transport url (image.jpg)repeate-y fixed top;
background:rgba(0,0,0,0.3)
最后一个参数是 alpaha 透明度,取值范围在 0 ~ 1 之间。
0 是 纯透明, 1 是纯黑。
层顶性原则:
继承性
当同一个元素指定多个选择器,就会有优先级的产生。
你笑起来真好看
选择器 | 权重 |
---|---|
继承或者 * | 0,0,0,0 |
元素选择器(标签选择器) | 0,0,0,1 |
类选择器,伪类选择器 | 0,0,1,0 |
ID选择器 | 0,1,0,0 |
行内样式style=“” | 1,0,0,0 |
!important重要的 | 无穷大 |
!impossible > 行内样式 > ID 选择器 > 类选择器,伪类选择器 > 元素选择器 > 继承或者 *
ul li{
color:green;
}
//ul li 权重 0 0 0 1 + 0 0 1 0 = 2
li{
color:red;
}
//li 权重 0 0 0 1 = 1
.nav li {
color:pink;
}
// .nav li 权重: 0 0 1 0 + 0 0 0 1 = 11
权重叠加:如果是复合选择器,则会有权重叠加,需要计算权重。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N9pJJoew-1661484703047)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20220823132435254.png)]
页面布局要学习三大核心
盒子模型的组成:
border(边框)
content(内容)
padding(内边距)
margin(外边距)
div{
width:300px;
hegiht:200px;
//边框的粗细 一般情况下都有 px
border-width:5px;
//边框的样式 solid 实现边框 dashed 虚线边框 点线边框
border -style:solid;
border -style:dashed;
border -style:dotted;
//边框的颜色:border-color:边框的颜色。
border-color:pink;
}
CSS边框属性允许指定一个元素边框的样式和颜色。
边框简写:
border:1px solid pink;
边框分开写:
border-top:1px solid red;//只设定上边框,其余同理。
div{
width: 300px;
height: 300px;
border:1px solid blue;
border-top: 1px solid red;
}
border-collapse
border-collapse 属性控制浏览器绘制表格边框的方式,它控制相邻单元格的边框
border-coppapse 表格的细线边框
border-collapse : collapse;
表示相邻边框合并在一起
collapse 单词是合并的意思
边框会额外增加盒子的实际大小,因此我们有两种方案解决:
padding属性用于设置内边距,即边框与内容之间的距离。
属性 | 作用 |
---|---|
padding-left | 左内边距 |
padding-right | 右内边距 |
padding -top | 上内边距 |
padding-bottom | 下内边距 |
值的个数 | 表达意思 |
---|---|
padding : 5px; | 1个值,代表上下左右都有5像素内边距 |
padding :5px 10px; | 2个值,代表上下内边距是5像素,左右内边距是10像素 |
padding: 5px 10px 20px; | 3个值,代表上内边距5像素,左右内边距10像素,下内边距20像素 |
padding :5px 10px 20px 30px | 4个值,上是5像素,右是10像素,下20像素,左是30像素,顺时针 |
当我们给盒子指定 padding 值之后,发生了2件事情:
解决方案:
如果保证盒子跟效果图大小保持一致,则 减去 width + height 多出来的内边距大小即可
如果盒子本身没有指定width/height属性,则此时padding不会撑开盒子大小
margin
(外边距)属性用于设置外边距,即控制盒子和盒子之间的距离
属性 | 作用 |
---|---|
margin-left | 左外边距 |
margin-right | 右外边距 |
margin-top | 上外边距 |
margin-bottom | 下外边距 |
外边距可以让块级盒子水平居中,但是必须满足两个条件
.header {
width: 960px;
margin: 0 auto;
}
以上方法是让块级元素水平居中,行内元素或者行内块元素水平居中给其父元素添加 text-align: center 即可。
使用 margin 定义块级元素的垂直外边距时,可能会出现外边距的合并。
主要有两种情况:
网页元素很多都带有默认的内外边距,而且不同浏览器默认的也不一致。因此我们在布局前,首先要清除下网页元素的内外边距。
* {
padding: 0;
margin: 0;
}
li{
/* 去掉li 上面的小圆点 */
list-style: none;
}
标签都是有语义,合理的地方就需要合理的标签。比如产品标题就用 h,大量文字段落就用p。
最好给每一个盒子起一个类名。可以更好的找到这个盒子,选取盒子更加容易,后期维护也方便。
margin 和 padding 大部分情况两个可以混用,两者各有优缺点,但根据实际情况,总是有更简单的方法实现。
pink老师入门视频教程