css总结

一、CSS引入

<link rel="stylesheet" href="path">

二、CSS基本选择器

1.通配选择器

为所有元素设置样式

* {
	padding: 0;
    margin: 0;
}
2.元素选择器

为某种元素统一设置样式

p {
    color: red;
}
3.类选择器

为某个类名统一设置样式

.className {
    color: red;
}
4.ID选择器

为某个ID设置样式

#idName {
    color: red;
}

三、复合选择器

1.交集选择器

选中同时符合多个条件的元素

/* 选中同时包含p id="b" class="a" 的元素 */
p.a#b{
    
}
2.并集选择器

选中多个选择器对应的元素

/* 选中 p 或 id="b" 或 class="a" 的元素 */
p,
.a,
#b{

}
3.后代选择器

选中指定元素中符合要求的后代元素

/* 选中class="a"的元素中的id="b"的p标签 */
.a p#b{
    
}
4.子代选择器

选中指定元素中符合要求的元素

/* 选中div中的子代a元素 */
div>.a{
    
}
5.兄弟选择器
  • 相邻兄弟选择器

    选中指定元素符合条件的相邻兄弟元素

    /* 选中div后面的p元素 */
    div+p{
        
    }
    
  • 通用兄弟选择器

    选中指定元素符合条件的所有兄弟元素

    /* 选中div后面所有的p元素 */
    div~p{
    
    }
    
6.属性选择器

选中属性值符合一定要求的元素

  1. [属性名] 选中具有某个属性的元素
  2. [属性名=“x”] 选中包含某个属性,且属性值等于x的元素
  3. [属性名^=“x”] 选中包含某个属性,且属性值以x开头的元素
  4. [属性名$=“x”] 选中包含某个属性,且属性值以x结尾的元素
  5. [属性名*=“x”] 选中包含某个属性,且属性值包含x的元素
7.伪类选择器
  1. 动态伪类

    • :link 超链接未被访问的状态
    • :visited 超链接访问过的状态
    • :hover 鼠标悬停在元素上的状态
    • :active 元素激活的状态
    • :focus 获取焦点的元素(用于表单类元素)
  2. 结构伪类

    • :first-chird 选择第一个元素

    • :last-chird 选择最后一个元素

    • :nth-chird(n) 选择第n个元素

      ​ 关于n的取值:

      ​ 0或为空:什么都不选中

      ​ n:选中所有子元素

      ​ 1~正无穷:选择对应序号的元素

      ​ 2n 或 even:选中序号为偶数的子元素

      ​ 2n+1 或 odd:选中序号为奇数的子元素

      ​ -an+b:选中序号以a为公差,a1=b的等差数列的子元素

    • :first-of-type 选择同类型中第一个元素

    • :lasr-of-type 选择同类型中最后一个元素

    • :nth-of-type(n) 选择同类型中第n个元素

    • :nth-last-child(n) 选中倒数第n个元素

    • :nth-last-of-type 选择同类型中倒数第n个元素

    • :only-chird 选中没有兄弟的元素

    • only-of-type 选中没有相同元素兄弟的元素

    • :root 选中根元素

    • :empty 选中空元素

  3. 否定伪类

    :not() 排除满足括号中条件的元素

  4. UI伪类

    • :checked 被选中的复选框或单选按钮
    • :enable 可用的表单元素(没有disabled属性)
    • :disabled 不可用的表单元素(有disabled属性)
  5. 目标伪类

    :target 选中锚点指向的元素

  6. 语言伪类

    :lang() 根据指定语言选择元素(lang属性)


8.伪元素选择器

​ 伪元素:像元素但不是元素,是元素中的特殊位置

  • ::first-letter 选中元素的第一个文字
  • ::first-line 选中元素的第一行文字
  • ::selection 选中元素中的第一行文字
  • ::placeholder 选中输入框的提示文字
  • ::before 在元素最开始的地方创建一个子元素,使用content属性指定内容
  • ::after 在元素最后的位置创建一个子元素,使用content属性指定内容

四、css属性

1.字体属性
  1. 字体大小

    font-size: 10px;

  2. 字体族

    font-family: “楷体”;

  3. 字体风格

    font-style: “”;

  4. 字体粗细

    font-weight: “”;

2.文本属性
  1. 文本颜色

    color: red;

  2. 文本间距

    letter-spacing: 20px; /* 字母间距 */

    word-spacing: 20px; /* 单词间距 */

  3. 文本修饰

    text-decoration: overline/underline/line-through/none; /* 行上线/下划线/删除线/无 */

  4. 文本缩进

    text-indext: 20px;

  5. 文本对齐_水平

    text-align: left/center/right;

  6. 行高

    line-height: 20px;

  7. 文本对齐_垂直

    单行文字居中:height=line-height

  8. vertical-align: top/middle/bottom; 对行内元素进行对齐

3.列表属性
  1. 列表符号调整

    list-style-type

  2. 列表符号的位置

    list-style-position: inside/outside;

  3. 自定义列表符号

    list-style-image: url(“path”);

  4. 复合属性

    list-style 可代表上述属性,没有数量、顺序的要求

4.表格属性
  1. 边框属性

    border: 1px red solid;

  2. 表格独有属性

    /* 控制表格的列宽 */

    table-layout: ;

    /* 控制单元格间距 */

    border-spaing: 10px;

    /* 合并相邻的单元格的边框*/

    border-collapse: collapse;

    /* 隐藏没有内容的单元格*/

    empty-cells: hide;

5.背景属性
  1. background-color: ; /* 设置背景颜色 */
  2. background-image: url(path); /* 设置背景图片 */
  3. background-repeat: ; /* 设置背景图片重复方式 */
  4. background-position: ; /* 设置背景图片位置 */
  5. background :; /* 复合属性 */
6.鼠标属性

cursor: url(“”);

五、盒子模型

1.常用长度单位
  • px(像素)
  • em(相对于当前元素的font-size的倍数)
  • rem(相对于根元素的font-size的倍数)
  • %(相对于父元素)
2.元素显示模式
  1. 块级元素(block)

    • 在页面中独占一行,不与任何元素共用一行,是从上到下排列的
    • 默认宽度:撑满父元素
    • 默认高度:由内容撑开
    • 可以通过CSS设置宽高
  2. 行内元素(inline)

    • 在页面中不独占一行,一行不能容纳下的行内元素,会在下一行继续从左到右排列
    • 默认宽度:由内容撑开
    • 默认高度:由内容撑开
    • 无法通过CSS设置宽高
  3. 行内块元素(inline-block)

    • 在页面中不独占一行,一行不能容纳下的行内元素,会在下一行继续从左到右排列
    • 默认宽度:由内容撑开
    • 默认高度:由内容撑开
    • 可以通过CSS设置宽高
3.各元素的显示模式
  1. 块元素

    主体结构标签:<html> 、<body>
    排版标签:<h1> ~<h6>、 <hr> 、<p> 、<pre> 、<div>
    列表标签:<ul>、<ol>、<li>、<dl>、<dt>、<dd>
    表格相关标签:<table>、<tbody>、<thead>、<tfoot>、<tr>、<caption>
    <form> 与 <option> 
    
  2. 行内元素

    文本标签:<br>、<em>、<strong>、<sup>、<sub>、<del>、<ins>
    <a>与<label>
    
  3. 行内块元素

    图片:<img>
    单元格:<td>、<th>
    表单控件:<input>、<textarea>、<select>、<button>
    框架标签:<iframe>
    
4.修改元素显示模式
display: none/block/inline/inline-block;
5.盒子模型的组成
  1. 内容区(content)

    CSS属性名功能属性值
    width设置内容区域宽度长度
    max-width设置内容区域最大宽度长度
    min-width设置内容区域最小宽度长度
    height设置内容区域高度长度
    max-height设置内容区域最大高度长度
    min-height设置内容区域最小高度长度
  2. 内边距(padding)

    padding复合属性,有padding-left,padding-right,padding-top,padding-bottom

    padding: 20px; /* 四个方向内边距为20px */
    padding: 10px 20px; /* 上下方向内边距为10px,左右方向内边距为20px */
    padding: 10px 20px 30px; /* 上方向内边距为10px,左右方向内边距为20px,下方向内边距为30px */
    padding: 10px 20px 30px 40px; /* 上 右 下 左 */
    
  3. 边框(border)

    border 与 left/right/top/bottom 与 color/style/width组合。如border-left-color: ;

  4. 外边距(margin)

    margin复合属性,有margin-left,margin-right,margin-top,margin-bottom

    margin: 20px; /* 四个方向外边距为20px */
    margin: 10px 20px; /* 上下方向外边距为10px,左右方向外边距为20px */
    margin: 10px 20px 30px; /* 上方向外边距为10px,左右方向外边距为20px,下方向外边距为30px */
    margin: 10px 20px 30px 40px; /* 上 右 下 左 */
    
6.处理内容溢出

​ overflow: auto/hidden/scroll; /* 自动显示滚动条,内容不溢出不显示/隐藏/显示滚动条,不管内容是否溢出 */

7.隐藏元素的两种方式

​ display: none;

​ visibility: hidden;

六、定位

1.相对定位
position: relative;  /* 采用相对定位,相对原来位置 */
left: 10px; /* 指定相对定位具体位置,right/top/bottom也可以使用 */
2.绝对定位
position: absolute;  /* 采用绝对定位 */
left: 10px; /* 指定绝对定位具体位置,right/top/bottom也可以使用 */
3.固定定位
position: fixed;  /* 采用固定定位,固定在视口上 */
left: 10px; /* 指定固定定位具体位置,right/top/bottom也可以使用 */
4.粘性定位
position: sticky;  /* 采用粘性定位 */
top: 10px; /* 指定固定定位具体位置,right/top/bottom也可以使用 */
5.定位的层级
z-index: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值