CSS3笔记

前端系列
一、HTML5
二、CSS
三、JavaScript
四、jQuery
五、BootStrap
六、Element
七、Ajax
八、JSON
九、VUE3


第一章、CSS基础

一、CSS规范

CSS主要有两个部分构成:选择器和声明。选择器是用于指定HTML标签,花括号是设置该对象的具体样式。

属性和属性值以“键值对”的形式出现,用英文“:”连接多个“键值对”之间用英文“;”进行区分。

1、CSS三大特性:

(1)层叠性
一个标签由多个选择器。当相同选择器设置了相同样式,那么后一个样式会覆盖前一个样式。
原则:1.冲突时,就近原则。
      2.不冲突,不会层叠

(2)继承性
子标签会继承父标签的样式。

(3)优先级
当一个标签多个选择器,当选择器相同,后面的样式会覆盖掉前面的样式。当选择器不相同则会比较权重。

2、元素显示模式

块级标签:一行只能放一个,可以设置宽高,标签内可以包含任何标签。
行内标签:一行可以放多个,不可以设置宽高,标签内只能包含文本或其他行内标签。
行内块级标签:一行放多个行内元素,可以设置宽高。

将行元素转化成块元素:display: block;
将块元素转化成行元素:display: inline;
将元素转换成行内块元素:display: inline-block;

二、CSS的引入方式

1、标签:
样式定义:<style></style>
样式引用:<link></link>
	
2、属性:
	rel="stylesheet"	外部样式表
	type="text/cass"	引入样式的类型

3、三种样式表插入方法:
外部样式表:<link rel="stylesheet" type="text/css" href="mystyle.css">

内部样式:
<style type="text/css">
	body {background-color.red}
	p{margin-left:20px}
</style>

内联样式表:
<p style="color:red"></p>

二、CSS选择器

1、标签选择器:写上标签名

1)定义,指定样式的标签名,统一的为标签设置样式。
p {
	color: red;
}

2)分组
h1 h2 h3 h4 h5 h6 {
	color: red;
}

2、类选择器:样式 . 定义,结构class调用。

1)、定义
.red {
	color: red;
}
.size {
	width: 10px
	height: 10px;
}

2)、调用
<h1 class="red">啊哈哈哈哈哈</h1>

3)多类
多类名:一个标签中放多个类样式,每个样式用空格隔开,当类样式有内容重复,后面的会覆盖掉前面的样式。
<h1 class="red size">啊哈哈哈哈哈</h1>

3、id选择器:样式#定义,结构id调用。

1)、定义
#blue {
	color: blue;
}

2)、调用
<div id="blue">蓝色</div>

只能调用一次

4、通配符选择器:样式*定义,自动调用

* {
	margin: 0;
	padding: 0;
}

自动给所有的标签附上样式

5、属性选择器

定义属性选择器
[title]{
	color: blue;
}
定义属性和值选择器
[title="t1"]{
	color: blue;
}

调用
<p title="">属性选择器</p>
<p title="t1">属性和值选择器</p>

6、后代选择器

HTML结构:
<p>从明天起,做一个<string>幸福的人</string>,喂马,劈柴,周游世界</p>

CSS样式:
p string{
	color: red;
}

7、子元素选择器

HTML结构:
<ul>
	<li><li>
</ul>

CSS样式:
ul > li {
	color: red;
}

使用>分隔,只能选择子元素。

8、伪类选择器

链接样式:
a:link		普通的、未被访问的链接
a:visited	用户以访问的链接
a:hover		鼠标指针位于链接上方
a:active	链接被点击的时刻


光标样式 focus
input:focus {
	background-color: yellow;
	color: red;
}

使用:分隔

9、格式化伪类选择器


第二章、CSS样式

一、背景样式

1、 设置背景颜色:background-color

定义背景颜色
body {
    background-color: red;
}

设置标签背景的背景颜色
.back-color {
    background-color: blue;
}

设置背景颜色半透明:
background: grba(0,0,0,0.5);

2、设置背景图片:background-image

body {
    background-image: url(../img/bg1.jpg);
}

# 给标签添加图片
.div-bg {
    background-image: url(../img/bg1.jpg);
}

3、背景图像是否固定或随着页面内容滚动而滚动:background-attachment

body {
    background-attachment: fixed;
}

默认滚动,滚动:scroll、固定:fixed

4、设置背景图片的起始位置:background-position

body {
    background-position: 40px,40px;
}

设置百分比:0%、25%、50%、100%,
设置像素:X、Y,
设置方位:center、top、left、right、bouten

5、设置背景图片是否重复以及如何重复:background-repeat

body {
    background-repeat: repeat;
}

repeat:重复、no-repeat:不重复、repeat-x:x轴重复、:repeat-y:y轴重复

6、设置背景图片的大小:background-size

body {
    background-size: 400px,200px;
}

设置方位:autu、center、top、left、
设置百分比:0%、25%、50%、100%,
设置像素:X、Y,

7、设置图片的定位区域:background-origin

body {
    background-origin: border-box;
}

padding-box	背景图像相对于内边距框来定位。
border-box	背景图像相对于边框盒来定位。
content-box	背景图像相对于内容框来定位。

8、设置图片的绘制区域:background-clip

body {
    background-clip:content-box;
}

border-box:背景延伸至边框外沿(但是在边框下层)。
padding-box:背景延伸至内边距(padding)外沿。不会绘制到边框处。
content-box:背景被裁剪至内容区(content box)外沿。

9、背景复合样式

background: background-color background-image background-repeat background-position brackground-attachment

二、文字样式

1、字体样式

.font {
    // 字体
    font-family: "仿宋";

    // 字体粗细
    font-weight: 100;

    // 字号大小
    font-size: 30px;

    // 字体颜色:red #1103
    color:red;

    // 体的透明度,值是0-1之间的数,1:不透明;0:全透明。
    opacity: 0.2;

    // 字体样式:无样式:normal、加粗、italic斜体、下划线
    font-style: italic;

    // 定义字母大小写 无样式:normal、小体大写:small-caps
    font-variant: normal
}

文字样式
1、color:字体颜色

2、opacity:字体的透明度,值是0-1之间的数,1:不透明;0:全透明。

3、font-size:字体的大小,默认字体大小是16px,font-size:200%;

4、font-family:字体("宋体","仿宋",sans-serif; )

5、font-weight:字体的粗细,值:10px;bold:加粗;bloder:深度加粗;lighter:细体;

6、font-style:字体的显示样式,italic:斜体;  normal:正常

7、font-variant:定义字母大小写,无样式:normal、小体大写:small-caps

2、文字阴影

text-shadow: h-shadow v-shadow blur color;

p{
text-shadow: 10px 10px 1px blue;
}

h-shadow:必需,水平阴影位置
v-shadow:必需,垂直阴影位置
color:可选,阴影颜色
blur:可选,模糊距离

3、字体复合属性写法

.font {
	// font: font-style font-weight font-size font-family
	font: italic 700 16px "仿宋"
	
}

三、文本样式

.text1 {
	// 文本颜色
	color: darkred;
	// 对齐方式
	text-align: center;
	// 装饰文本
	text-decoration: underline;
	// 首行缩进
	text-indent: 2em;
	// 文本行间距
	line-height: 20px;
	// 字母处理
	text-transform: capitalize;
	// 阴影效果:水平距离、垂直距离、清晰度、颜色
	text-shadow: 20px 20px 1px F00;
}

color:文字颜色
line-height属性用于设置行间距,所谓行间距就是行与行之间的距离,即字符的垂直间距,一般称为行高。像素px,百分比%。
text-align:对齐方式:center:居中对齐、left:左对齐、right:右对齐、justify:两端对齐。
text-decoration:装饰文本:none:无、line-through删除线、underline:下划线、overline上划线
text-indent:文本首行缩进,em:相对于当前像素的一个文字大小。
text-transform:字母处理:capitalize:首字母大写、lowercase:全部小写、uppercase:全部大写
text-shadow:阴影效果:10px:距右距离,10px:距下距离、清晰度2px、颜色#00

letter-spacing属性用于定义字间距,所谓字间距就是字符与字符之间的空白。
word-spacing属性用于定义英文单词之间的间距.

text-overflow属性用于处理溢出的文本。
    clip:修剪溢出文本,不显示省略标签“…”。
    ellipsis:用省略标签“…”替代被修剪文本,省略标签插入的位置是最后一个字符。

word-wrap属性用于实现长单词和URL地址的自动换行。
    normal:只在允许的断字点换行(浏览器保持默认处理)。
    break-word:在长单词或 URL 地址内部进行换。

四、列表样式

1、列表类型:list-style-type

li {
    list-style-type: georgian;
}

无:	none
方块	square
数字	decima
空心圆	circle
鬼画符	georgian

2、列表项图像:list-style-image

li {
    list-style-image: url("../img/花瓣.png");
}

3、列表标志位置:list-style-position

li {
    list-style-position: inside;
}

li {
    list-style-position: outside;
}

outside	默认值。保持标记位于文本的左侧。列表项目标记放置在文本以外,且环绕文本不根据标记对齐。
inside	列表项目标记放置在文本以内,且环绕文本根据标记对齐。
inherit	规定应该从父元素继承 list-style-position 属性的值。

五、表格样式

1、设置表格外边框:border

#ta tr th td  {
    border: 5px solid blue violets;
}

dotted:上边框
solid:右边框
double:底边框
dashed:左边框
border-width:设置边框的框,也可以设置单个的边框宽(border-top-width)

2、合并边框:border-collapse

#ta {
    border-collapse: collapse;
}

separate	默认值。边框会被分开。不会忽略 border-spacing 和 empty-cells 属性。
collapse	如果可能,边框会合并为一个单一的边框。会忽略 border-spacing 和 empty-cells 属性。
inherit		规定应该从父元素继承 border-collapse 属性的值。

3、设置表格内边距 padding

td {
	padding: 10px;
}

4、设置宽和高

#ta {
    width: 400px;
    height: 400px;
}

5、设置对齐方式text-align

#ta {
	text-align: center;
	vertical-align: middle;
}

设置水平对齐 text-align: left、right、center
设置垂直对齐 vertical-align: top、bottom、middle

6、设置表格颜色:background-color

#ta {
	background-color: aqua
}

border-color属性用于设置边框的颜色。可以设置单边框的颜色:(border-top-color)

六、超链接样式

1、超链接的状态

a:link		普通的、未被访问的链接
a:visited	用户以访问的链接
a:hover		鼠标指针位于链接上方
a:active	链接被点击的时刻

2、超链接的样式:text-decoration

a:link {
	// 除去链接中的下划线
	text-decoration: none;
	// 设置背景色
	background-color: red;
	// 设置前景色
	color:#F000
}

七、鼠标、光标、滚动条、滤镜

1、鼠标样式 cursor

.div {
	cursor: wait;
}

cursor属性:
自动默认选择:auto
正常选择:default
移动:move
忙:wait
水平调整:w-resize
垂直调整:s-resize
连接选择:pointer
精准定位:crosshair
连接选择:hand
帮助选择:help
文本选择:text
水平调整:e-resize
垂直调整:n-resize
外部连接鼠标样式:url
沿对角线调整:ne-resize、sw-resize、se-resize、nw-resize

2、光标样式 focus

input:focus {
	background-color: yellow;
	color: red;
}


3、滚动条 overflow

(1)overflow属性
自动显示滚动条
overflow: auto;
没用滚动条
overflow: hidden;
没有水平滚动条
overflow-x: hidden;
没有垂直滚动条
overflow-y: hidden;

.div {
    overflow-x:hidden;
    overflow-y: hidden;
    overflow: hidden;
    overflow: auto;
}

(2)设置滚动条颜色
顶部/底部图标颜色
scrollbar-arrow-color: black; 
滚动条颜色
scrollbar-face-color: black; 
滚动条阴影颜色
scrollbar-shadow-color: black;
滚动条背景颜色
scrollbar-track-color: black;
滚动条基本颜色
scrollbar-base-color: black;

4、滤镜 filter

1、设置透明度 alpha
filter: alpha(10)

2、设置模糊滤镜 blur(Npx)
filter: blur(4px);

3、设置亮度 brightness(%)
filter: brightness(2%);

4、设置对比度 contrast(%)
filter: contrast(30%);

5、饱和度saturate(%)
filter: saturate(20%);

6、投影dropShadow(color=颜色, offX=x偏移, offY=y偏移, positive模糊范围)
filter: dropShadow(2px 10px 0 rgba(255,0,0,0.5));

7、设置水平反转 flipH
filter: flipH;

8、设置垂直反转 flipV
filter: flipV;

9、设置外发光 glow(color=颜色,strength=强度)
filter:  glow(color=red, strength=10)

10、灰度 gray(%)
filter:gray(0.5);

11、设置波纹效果 wave(add=1, )
filter:wave(1);

12、色相旋转hue-rotate(deg)
filter:hue-rotate(125deg);

第三章、盒子模型

1、组成:内容、内边距、边框、轮廓、外边距

一、内边距 padding

// 设置所有边距 padding
.tdbj {
	padding: 100px;
}

.tdbj {
    // 设置上边距 padding-top
	padding-top: 100px;
    // 设置底边距 padding-botton
	padding-botton: 100px;
    // 设置左边距 padding-left
	padding-left: 100px
    // 设置右边距 padding-right
	padding-right: 100px
}

像素:10px
百分比:10%

二、边框样式 border

1、边框的样式:border-style

.div1 {
	border-style: dotted;
 }

2、边框的单边样式
border-top-style: ;
border-left-style: ;
border-right-style: ;
border-bottom-style: ;

none:无样式、solid:实线样式、double:双线样式、dotted虚线样式、inset:3D凹边、outset:3D凸边

3、边框的粗细 border-width

.div1 {
	border-width: 10px;
 }
 
单边框粗细
border-top-width
border-left-width
border-right-width
border-bottom-width

4、边框颜色 border-color

.div1 {
	border-color: red;
}

5、圆角边框 border-radius

.div1{
	border-radius: 10px;
}

# 设置单边圆角
.div1{
	border-radius: 10px 20px 30px 40px;
}

6、边框阴影 box-shadow

.classid {	
	// 设置边框阴影:距右距离、距下距离、阴影尺寸、清晰度、颜色、内部颜色
	box-shadow: 10px 10px 5px 5px #FF00 inset
}

默认外阴影、inset内阴影

7、合并边框 -border-collapse

#ta {
    border-collapse: collapse;
}

三、轮廓样式 outline

1、设置轮廓属性 outline:

p {
	// 1、设置轮廓属性
	outline: 
	// 2、设置轮廓的颜色
	outline-color: red;
	// 3、设置轮廓的样式
	outline-style: groove;
	// 4、设置轮廓的宽度
	outline-width: 10px;
}

outline-style属性:
无样式:none、
dotted:定义点状的轮廓、
dashed:定义虚线轮廓、
solid:定义实线轮廓、
double:定义双线轮廓。

四、外边距 margin

.div {
	// 外边距:上 右 下 左
	margin: 25px 50px 10px 15px;
	
	// 顶部外边距
    margin-top: 10px;
	// 底部外边距
    margin-bottom1: 10px;
    // 左边外边距
    margin-left: 10px;
    // 右边外边距
    margin-right: 10px;
}

像素:10px
百分比:10%

清除内外边距:

* {
	padding: 0;
	margin: 0;
}

第四章、页面布局

1、三种布局机制的上下顺序:

标准流在最底层(海底)----浮动的盒子在中间(海面)—定位的盒子在最上层(天空)

普通布局:元素按照HTML的默认位置顺序决定排布的过程。

浮动布局:脱离普通流的控制,浮动流的盒子不会保留原先的位置。

定位布局:将盒子定在某一位置,自由的漂浮在其他盒子(包括标准流和浮动)的上面。

一、标准布局: position

1、标准流:元素按照HTML的位置顺序决定排布的过程。
所谓的标准流,就是标签按规定好的默认方式排列。

2.块级元素:独占一行,从上而下。
常见:<div>、<h>、<p>、<hr>、<ul>、<ol><dl>、<form>、<table>等

3.行内元素会按照顺序,从左到右排序,碰到父级元素边缘则自动换行。
常见:<span>、<a>、<i>、<em>等

以上都是标准流布局,我们前面所学的就是标准流。标准流就是最基本的布局方式。

二、浮动布局:float

1、浮动

选择器{float: 属性值}

属性值描述
none元素不浮动(默认值)
left元素向左浮动
right元素向右浮动
inherit从父级继承浮动属性
选择器{float: 属性值}

浮动
1.脱离标准流的控制,(浮)移动到指定的位置(动),俗称脱标。
2.浮动元素会一行显示并且元素顶端对齐(行显)不再保留原先位置。
3.浮动元素会具有行内块元素属性(行内块属性)
①如果块级盒子没有设置宽度,默认宽度和父级一样宽,但添加浮动后,他们的大小由内容决定。
②浮动的盒子中间是没有缝隙的,是紧挨的。
③如果行内元素有了浮动,则不需要转换成块级或行内块元素,可以直接给高度和宽度。

2、清除浮动:clear

选择器{clear: both;}

clear属性值描述
both清除左右两侧浮动
laft清除向左浮动
right清除向右浮动
inherit清除父级继承浮动
清除浮动的方法

1. 额外标签法也称隔墙法 
  额外标签法会在浮动元素的末尾添加一个空的标签<div style=”clear:both;”></div>,或<br />标签等。是W3C推荐的做法。
  优点:通俗易懂,方便书写
  缺点:添加许多无意义的标签,结构化较差

2. 父级添加一个overflow
	可以给父级添加overflow属性,将其属性值设置为hidden,auto或scroll。注意是给父元素添加代码。
    优点:代码简洁
    缺点:无法显示溢出的部分

3. 清除浮动:after伪元素法
after方式是额外标签法的升级版,也是给父元素添加
优点:没有增加标签,结构更简单
缺点:照顾低版本浏览器
.clearfix: after{
	conten:“”;
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
}
/* IE6\7专有 */
.clearfix {
	*zoom:1;
}
    
4. 清除浮动双伪元素浮动
.clearfix:after, .clearfix:before {
	content: "";
	display: table;
}
.clearfix:after{
	clear: both;
}
/* IE6\7专有 */
.clearfix {
	*zoom:1;
}

总结:
1.父级没有高,子盒子有浮动,影响下面的布局

3、设置元素的堆叠顺序:z-index

选择器 {z-index: 1;}


4、浮动样式应用


HTML结构
<!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>瀑布流布局</title>
    <link href="浮动应用样式.css" type="text/css" rel="stylesheet">
</head>
<body>
    <div>
        <ul>
            <li><img src="../img/花瓣.png"></li>
            <li><img src="../img/花瓣.png"></li>
            <li><img src="../img/花瓣.png"></li>
        </ul>
        <ul>
            <li><img src="../img/花瓣.png"></li>
            <li><img src="../img/花瓣.png"></li>
            <li><img src="../img/花瓣.png"></li>
        </ul>
        <ul>
            <li><img src="../img/花瓣.png"></li>
            <li><img src="../img/花瓣.png"></li>
            <li><img src="../img/花瓣.png"></li>
        </ul>
    </div>
</body>
</html>


CSS样式
*{
    margin: 0px;
    padding: 0px;
}

li {
    list-style: none;
}

#div1 {
    width: 1000px;
    height: auto;
    margin: 20px auto;
}

ul{ 
    width: 250px;
    float: left;
}

三、定位布局

1、定位机制:

将盒子定在某一位置,自由的漂浮在其他盒子(包括标准流和浮动)的上面。

2、定位模式:position

position属性用于定义元素的定位模式,其基本语法格式如下:

选择器{ position: 属性值; }

position属性值描述
static自动定位(默认定位方式)
relative相对定位,相对于其原文档流的位置进行定位
absolute绝对定位,相对于其上一个已经定位的父元素进行定位
fixed固定定位,相对于浏览器窗口进行定位

3、边偏移

通过边偏移属性top、bottom、left或right,来精确定义定位元素的位置,其取值为像素或百分比。

边偏移属性描述
top顶端偏移量,定义元素相对于其父元素上边线的距离
bottom底部偏移量,定义元素相对于其父元素下边线的距离
left左侧偏移量,定义元素相对于其父元素左边线的距离
right右侧偏移量,定义元素相对于其父元素右边线的距离

4.1、静态定位(static)–了解

静态定位是元素的默认定位方式,无定位的意思。它相当于border中的none,不要定位的时候用。

静态定位按照标准流特定摆放位置,它没有边偏移。

4.2、相对定位(relative)----重要

相对于自己原来在标准流中位置来移动,原来在标准流的区域继续占有,后面的盒子仍然以标准流的方式对待它。

4.3、绝对定位(absolute)----重要

绝对定位是将元素依据最近的已经定位(绝对、固定或相对定位)的父元素进行定位,若所有父元素都没有定位,则依据body根元素(浏览器窗口)进行定位(拼爹型)。

1.完全脱标—完全不占位置

2.父级元素没有定位,则以浏览器为准定位

3.父级要有定位

将元素依据最近的已经定位(绝对、固定或相对定位)的父级元素(祖先)进行定位。

结论:父级要占有位置,子级要任意摆放,这就是子绝父相的由来。

绝对定位布局的居中

left:50%,让盒子的左侧移动到父级元素的水平中心位置

margin-left:-100px;让盒子向左移动自身宽度的一半。

4.4、固定定位(fixed)----重要

固定定位是绝对定位的一种特殊形式,它以浏览器窗口作为参照物来定义网页元素。当position属性的取值为fixed时,即可将元素的定位模式设置为固定定位。

1.完全脱标----完全不占位置

2.只认浏览器的可视窗口,跟父元素没有任何关系,不随滚动条滚动

5、堆叠顺序(z-index)

设置元素的堆叠顺序:z-index

选择器{position: static; z-index: 1;}

堆叠顺序(z-index)
在使用定位布局时,可能会出现盒子重叠的情况。
加了定位的盒子,默认后来者居上,后面的盒子会压住前面的盒子。
应用(z-index)层叠等级属性可以调整盒子的堆叠顺序。

z-index的特性如下:
1.属性值:正整数、负整数或0,默认是0,数值越大,盒子越靠上;
2.如果属性值相同,则按照书写顺序,后来者居上
3.数字后面不能加单位。

注意:z-index只能应用于相对定位、绝对定位和固定定位的元素,其他标准流、浮动和静态定位无效。

6、定位改变display属性

所以说,一个行内的盒子,如果加了浮动,固定定位和绝对定位,不用转换,就可以给这个盒子直接设置高度和宽度

同时注意:浮动元素、绝对定位元素和固定定位元素都不会触发外边距合并的问题(以前用border、padding、overflow清除),也就是说,我们给盒子改为浮动或定位,就不会有垂直外边距合并的问题。

第五章、CSS常见操作

一、对齐操作

1、使用margin属性进行左右对齐

.div {
	margin-left: auto;
	margin-right: auto;
}

2、使用position属性进行左右对齐

.div {
	position: absolute;
	// 向左对齐
	left: 0px;
	// 向右对齐
	right: 0px;
}

3、使用float属性进行左右对齐

div{
	float: left;
	float: right;
}

二、分类

1、尺寸

设置元素高度

.p{
    // 设置元素高度
    height: 10px;
    // 设置元素宽度
    widht: 10px;
    // 设置行高
    lie-height: 10px;
}

2、分类

设置鼠标样式 cursor

.p{
	cursor: alias;
}

设置元素是否可见 visibility

li {
	 visibility:  visible;
}
visible:可见、hidden不可见

三、导航栏

1、垂直导航栏

HTML结构
<!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>导航栏</title>
    <link href="导航栏样式.css" type="text/css" rel="stylesheet">
</head>
<body>
    <ul>
        <li><a href="https://www.baidu.com/">百度</a></li>
        <li><a href="https://www.sogou.com/">搜狗</a></li>
        <li><a href="https://www.bilibili.com/">bilibili</a></li>
        <li><a href="https://www.zhihu.com/">知乎</a></li>
    </ul>
</body>
</html>

CSS样式
ul{
    list-style: none;
    margin: 0px;
    padding: 0px;
}

a:link,a:visited{
    text-decoration: none;
    display: block;
    background-color: aqua;
    width: 50px;
    text-align: center;
}

a:active,a:hover{
    background-color: bisque;
}

2、水平导航栏

HTML结构
<!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>导航栏</title>
    <link href="导航栏样式.css" type="text/css" rel="stylesheet">
</head>
<body>
    <ul>
        <li><a href="https://www.baidu.com/">百度</a></li>
        <li><a href="https://www.sogou.com/">搜狗</a></li>
        <li><a href="https://www.bilibili.com/">bilibili</a></li>
        <li><a href="https://www.zhihu.com/">知乎</a></li>
    </ul>
</body>
</html>

CSS样式
ul{
    list-style: none;
    margin: 0px;
    padding: 0px;
    background-color: darkgray;
    width: 250px;
    text-align: center;
}

a:link,a:visited{
    font-weight: initial;
    text-decoration: none;
    background-color: aqua;
    width: 50px;
    text-align: center;
}

a:active,a:hover{
    background-color: bisque;
}

li {
    display: inline;
    padding: 3px;
    padding-left: 5px;
    padding-right: 5px;
}

四、图片样式

HTML结构
<!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>图片样式</title>
    <link href="图片样式1.css" type="text/css" rel="stylesheet">
</head>
<body>
    <div>
        <div class="image">
            <a href="#" target="_self">
                <img src="../img/时崎狂三.jpg" alt="风景" width="400px" height="200">
            </a>
            <div class="text">时崎狂三</div>
        </div>
        <div class="image">
            <a href="#" target="_self">
                <img src="../img/时崎狂三.jpg" alt="风景" width="400px" height="200">
            </a>
            <div class="text">时崎狂三</div>
        </div>
        <div class="image">
            <a href="#" target="_self">
                <img src="../img/时崎狂三.jpg" alt="风景" width="400px" height="200">
            </a>
            <div class="text">时崎狂三</div>
        </div>
        <div class="image">
            <a href="#" target="_self">
                <img src="../img/时崎狂三.jpg" alt="风景" width="400px" height="200">
            </a>
            <div class="text">时崎狂三</div>
        </div>
    </div>
</body>
</html>

CSS样式
body {
    margin: 10px auto;
    width: 70%;
    height: auto;
}

.image {
    border: 1px solid darkgray;
    width: auto;
    height: auto;
    float: left;
    text-align: center;
    margin: 5px;
}

img {
    margin: 5px;
}

.text {
    font-size: 12px;
    margin-bottom: 5px;
}

第六章、CSS动画

一、3D与2D的转换

实现一些效果,例如移动、旋转、缩放、倾斜、拉伸

1、2D转换的方法:

translate()	移动
rotate()	旋转
scale()		缩放
skew()		倾斜
matrix()	拉伸


/* 移动 */
.div1 {
    transform: translate(200px,100px);
    /* 指定浏览器 */
    -ms-transform: translate(100px,100px); /*IE*/
}

/* 旋转 */
.div1 {
    transform: rotate(200deg);
    /* 指定浏览器 */
    -ms-transform: translate(100px,100px); /*IE*/
}

/* 缩放 */
.div1 {
    transform: scale(1,2);
    /* 指定浏览器 */
    -ms-transform: translate(100px,100px); /*IE*/
}

/* 倾斜 */
.div1 {
    transform: skew(30deg, 20deg);
    /* 指定浏览器 */
    -ms-transform: translate(100px,100px); /*IE*/
}

/*  */
.div1 {
    transform: matrix(1,2,3,4,5,6);
    /* 指定浏览器 */
    -ms-transform: translate(100px,100px); /*IE*/
}

2、3D转换的方法:

rotateX()
rotateY()

/*  */
.div1 {
    transform: rotateX(500deg);
    /* 指定浏览器 */
    -ms-transform: translate(100deg); /*IE*/
}

/*  */
.div1 {
    transform: rotateY(500deg);
    /* 指定浏览器 */
    -ms-transform: translate(100deg); /*IE*/
}

二、过度

是元素从一种样式转换成另一种样式。

// 设置过度
transition
// 过度名称 
transition-property
// 过度效果的时间
transition-duration
// 过度效果的时间曲线
transition-timing-functio
// 过度效果的延时时间
transition-delay

// 实战-
div {
    width: 100px;
    height: 100px;
    background-color: darkturquoise;
    -webkit-transition: width 2s, height 2s, -ms-transform 2s;
    transition: width 2s, height 2s, transform 2s;
    -webkit-transition-delay: 2s;
    transition-delay: 2s;
}
div:hover {
    width: 200px;
    height: 200px;
    transform: rotate(360deg);
    -ms-transform: rotate(360deg)
}

三、动画

遵循@keyframes规则:规定动画时长、规定动画名称


四、多列

对文本或区域进行布局

column-count	分列的数量
column-gap		列间距
column-rule		间距线
<!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>多列</title>
    <link rel="stylesheet" href="多列样式.css" type="text/css">
</head>
<body>
    <div class="div1">
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
        哈啊哈哈哈哈哈哈哈
    </div>    
</body>
</html>

.div1 {
    column-count: 4;
    -webkit-column-count: 4;
    -webkit-column-gap: 30px;
    column-gap: 30px;
    column-rule: 5px outset red;
    -webkit-column-rule: 5px outset red;
}

第七章、CSS高级

一、元素的显示与隐藏(与js搭配)

目的:让一个元素在页面中消失或显示出来。

场景:类似网站广告,当我们点击关闭就不见了,但是我们重新刷新网页,会重新出现。

1、display显示(重点)

display 设置或检索对象是否及如何显示。

display:none;隐藏对象。

display:block;除了转换为块级元素之外,同时还有显示元素的意思。

特点:隐藏后,不再保留位置

2、visibility可见性(了解)

设置或检索是否显示对象

visibility:visible;对象可见

visibility:hidden;对象隐藏

特点:隐藏之后,继续保留原有位置

3、overflow溢出(重点)

检索或设置当对象的内容超过其制定高度及宽度时,如何管理内容。

属性值描述
Visible不剪切内容也不添加滚动条
Hidden不现实超过对象尺寸的内容,超出的部分隐藏掉
Scroll不管超出内容否,总是显示滚动条
Auto超出自动显示滚动条,不超出不显示滚动条

实际开发场景:

1.单行文本显示不全,用…代替

2.清除外边距合并

3.清除浮动

4、显示与隐藏总结

属性区别用途
Display隐藏对象,不保留位置配合后面JS做特效,如下拉菜单,原先没有,鼠标经过,显示下拉菜单,应用极为广泛
Visibility隐藏对象,保留位置使用较少
Overflow只隐藏超出大小的部分1.可以清除浮动,2.保证盒子里面的内容不超出该盒子范围

5、案例:视频播放按钮的显示与隐藏

<!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>土豆</title>
    <style>
        .tudou{
            position: relative; /* 定位:相对定位 */
            width: 444px; /* 设定盒子宽 */
            height: 320;
            background-color: pink; /* 盒子颜色  */
            margin: 30px auto; /* 盒子居中 */
        }
        .tudou img{
            width: 100%; /* 图片显示的宽高百分比 */
            height: 100%;
        }
        .mask{ /* 隐藏元素 */
            display: none;
            position: absolute; /* 定位:绝对定位 */
            top:0; /* 偏移量 */
            left:0;
            width: 100%; /*显示大小*/
            height: 100%;
            background: rgba(0, 0, 0, 4) url(./images/demo24/arr.png) no-repeat center; /* 显示 */
        }
        .tudou:hover .mask{ /* 当鼠标经过 tudou盒子 显示元素 */
            display: block;
        }
    </style>
</head>
<body>
    <div class="tudou">
        <div class="mask"></div>
        <img src="./images/demo24/tudou.jpg" alt="">
    </div>

</body>
</html>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值