CSS---学习笔记总结

在做项目时,总是被css样式困扰,系统的梳理下:

css---层叠样式表

语法:

  1. 内联样式:样式写在标签对中,一般很少使用,尽量不要写在标签内,不利于代码维护。
  2. 内部样式:将样式集中写在head标签对中,适用于一个页面。
  3. 外部样式:将所有样式放在一个或多个.css为扩展名的外部样式表文件中,通过<link>标签将样式链接到HTML文档中。
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
    <style>
        #div1 {
            width: 100px;
            height: 100px;
            background: green;
        }
    </style>
</head>

<body>
    <div style="width:100px; height:100px;background:red">内联样式</div>
    <div id="div1" class="d1">内部样式</div>
    <div id="div2">外部样式</div>
</body>

</html>

style.css

#div2{
    width:100px; height:100px;background:yellow;
}

选择器:

通用选择器: *{...}===可以同时选中页面中的所有元素

标签选择器:div{...}===为元素定义统一样式

类选择器:.class{ }===使用“.”进行标识,为元素定义单独或相同的样式

id选择器:#id{...}===使用“#”进行标识,对应于文档中某一个具体的元素

复合选择器:div #box1{...}===可以同时使用多个选择器,这样可以选择同时满足多个选择器的元素。

层级选择器:div p {...}

层级选择器

说明

ancestor descentdant

在给定的祖先元素下匹配所有的后代元素(儿子、孙子、重孙子、...)

parent > child

在给定父元素下匹配所有的子元素(儿子)

prev + next

匹配所有紧接在prev元素后的next元素(同桌)

prev ~ siblings

匹配prev元素之后的所有siblings元素(兄弟)

属性选择器:[属性名]或 [属性名=属性值]  div[id]{...}

属性选择器

说明

[class^="icon"]

用来匹配属性值以”icon”开头的每个元素

[class*=" icon"]

用来匹配属性值中包含”icon”的每个元素

[class$=" icon"]

用来匹配属性值以”icon”结尾的每个元素

伪类选择器

伪类选择器

说明

 

a:link

未访问的链接

 

a:visited

已访问的链接

 

a:hover

鼠标划入的链接

:hover 非a标签在IE6下是无效的

a:active

选定的链接

 

input:focus

焦点

 

div:not(.box)

否定伪类

 

伪元素选择器

伪元素选择器

说明

 

.demo::after

内部的后边添加一个微元素,行级元素

content:”内容”

.demo::before

内部的前边添加一个微元素,行级元素

content:”内容”

 

示例如下:

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
    <style>
        #div {
            width: 100px;
            height: 100px;
            background: green;
        }

        #div::after {
            content: '伪元素'
        }

        #div::before {
            content: '伪元素';
            background: red;
        }
    </style>
</head>

<body>
    <div id="div">1111</div>

</body>

</html>

效果图:

序号选择器:

类别

序号选择器

不区分类型

:first-child 选中同级别中第一个标签

:last-child  选中同级别中最后一个标签

:nth-last-child(n) 选中同级别中倒数第n个标签

:nth-child(n) 选中同级别中第n个标签

:only-child 选中同级别中唯一子元素标签

区分类型

:first-of-type  选中同级别中同类型第一个标签

:last-of-type 选中同级别中同类型最后一个标签

:nth-of-type(n) 选中同级别中同类型第n个标签

:nth-last-of-type(n) 选中同级别中同类型倒数第n个标签

:only-of-type 选中同级别中唯一同类型子元素标签

奇偶选择

:nth-child(odd) 选中级别中所有奇数

:nth-child(even)  选中同级别中所有的偶数

:nth-child(xn+y) x,y是用户自定义的 n为计数器,从0开始递增选择,  到元素的总个数停止

 

css优先级:

等级

类型

权重值

1

important

>1000

2

内联样式

1000

3

id选择器

100

4

class选择器、伪类选择器、属性选择器

10

5

标签选择器、伪元素选择器

1

6

*通配符

0

注意:选择器的权值加到一起, 大的优先; 如果权值相同, 后定义的优先,写在后边的样式会把写在前面的样式覆盖


css属性

属性类别

属性

描述

使用方法

width&

height

width

width:100px

height

height:100px

背景相关属性

background

背景复合写法

background:red url(1.jpg) no-repeat 50px 100px;

background-image

背景图片

background-img:url(1.jpg);

background-size

背景图片尺寸

 

background-repeat

背景图是否重复

background-repeat:no-repeat;

background-color

背景颜色

background-color:red

background-attachment

设置背景是否随页面滚动

scroll;默认值,背景图片会随页面一起滚动

fixed;背景图片不随页面滚动,会固定在页面的指定位置,一般这种背景都会设置给body

background-position

背景图位置

background-position :50px 100px;

opacity

背景的不透明度

0-1;0表示完全透明,1表示完全不透明

 

background-origin

背景图定位区域

 

display&

visibility

display

显示

display:none; 隐藏,不占用空间

display:inline; 行级元素,多个元素占一行,不可以设置宽高

display:block;块级元素,自己占一行,可以设置宽高

display:inline-block;行级块元素,可以多元素占一行,可以设置宽高

visibility

 

visibility:visible;元素可见

visibility:hidden;元素不可见,但空间占着

文本相关属性

text-indent

首行缩进

text-indent:20px;

text-align

文本对齐方式

text-align:left;左对齐

text-align:center;居中对齐

text-align:right;右对齐

letter-spacing

字符间隔

letter-spacing:2px;

text-transform

字母大小写

text-transform:uppercase;大写

text-tansform:lowercase;小写

text-transform:capitalize;首字母大写

text-transform:none;正常

text-decoration

文本装饰

text-decoration:none;无

text-decoration:underline;下划线

text-decoration:overline;上划线

text-decoration:line-through;穿过文本的划线

字体相关属性

font

复合样式

font: italic bold 12px arial, sans-serif;

font-family

类型

“微软雅黑” “宋体”

font-size

大小

20px

font-weight

粗细

100-900,700--bold,默认400--normal

font-style

风格

italic斜体

normal正常

color

颜色

red, #ccc,...

css盒子

模型

padding

内边距

padding: 10px 20px 30px 50px; 上 右 下 左

padding:10px 20px;垂直 水平

padding-top

上内边距

padding-top:10px

padding-bottom

下内边距

padding-bottom:10px

padding-left

左内边距

padding-left:10px

padding-right

右内边距

padding-right:10px

border

复合样式

border: 1px solid red;

border-width

边框宽度

border-width:20px

boeder-style

风格

dashed 虚线

solid 实线

border-color

颜色

red

margin

外边距

margin: 10px 20px 30px 50px; 上 右 下 左

margin:10px 20px;垂直 水平

margin-top

上外边距

 

margin-bottom

下外边距

 

margin-left

左外边距

 

margin-right

右外边距

 

box-sizing

 

content-box标准盒模型

border-box怪异盒模型

css定位

position

位置

结合left,right,top,bottom属性使用

relative相对定位,相对于自己的初始位置,定位后空间不释放

absolute绝对定位,相对于最近已定位的祖先元素,如果没有最近已定位的祖先元素,则相对于body,定位后空间被释放

fixed 固定定位,位置相对于可视页面,定位后空间释放

left

left:-10px;

top

top:20px;

right

right:30px

bottom

bottom:20px;

z-index

设置元素的层级

 

层级:定位元素 > 浮动元素 > 文档流中的元素

 

当元素开启了定位以后,可以通过z-index来设置元素的层级

浮动

float

浮动

脱离文档流,空间释放

float:left;

float:right

float:none

clear

清除浮动

clear:left

clear:right

clear:both

颜色

color

 

color:red;

color:#fff;

color:rgb(255,0,0);

color:rgba(255,0,0,0.4);0.4为透明度

光标

cursor

显示光标的类型

cursor: pointer;光标呈现为指示链接的指针(一只手)

cursor: move;此光标指示某对象可被移动。

cursor: crosshair;光标呈现为十字线

cursor: help;此光标指示可用的帮助(通常是一个问号或一个气球)。

cursor: wait;此光标指示程序正忙(通常是一只表或沙漏)。

列表

list-style

 

list-style:none;

处理内容溢出

overflow

控制内容溢出的情况

overflow:visible;默认值

overflow:scrol;添加滚动条

overflow:auto;根据需要添加滚动条

overflow:hidden;隐藏超出盒子的内容

 

 transition

 

 transition: 0.25s linear;

 

box-sizing

绘制元素方式

box-sizing: content-box;在宽度和高度之外绘制元素的内边距和边框

box-sizing: border-box;为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制


css盒模型:内容+padding+border+margin

  1. 标准盒模型:width属性=内容宽度
  2. 怪异盒模型:width属性=内容宽度+padding+border==ie6浏览器及以下浏览器,不写doctype文档声明的时候。

标签元素划分:

标签元素划分

特点

标签

块级元素

独占一行,可以设置宽高

ul、li、form、h1-h6、hr、p、div、table

行级元素

不会独占一行,不可以设置宽高

 

a、big、br、em、label、span、strong

行级块元素

既可以跟其他元素共占一行,又可以设置宽高

input、select、textarea、button、img

块级元素与行级元素相互转换:

     把行级元素转成块级元素===display:block

     把块级元素转成行级元素===display:inline

    转为行级块元素===dipslay:inline-block

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值