CSS3

CSS :

用于定义HTML页面的样式(外观)

页面表现的基础,可以控制布局,控制元素的渲染

HTML决定文档的内容结构,CSS决定了文档的

CSS术语

CSS规则

CSS代码由一个一个的规则组成

每个规则指定了:对那些元素应用什么样式

CSS规则-选择器

{基础选择器}

1.元素选择器:功能:选中与名字相同的标签,应用大括号里的样式。

注:可以选中0-n个

元素选择器只要跟选择的元素标签相同就会产生相同的属性

书写格式:元素名{声明块}

声明块:是由多条声明组成的 书写格式:属性名:属性值

列:header{color:red;}

2.类选择器:功能:选中与类名相同的元素,应用大括号里的样式。

注:可以选择一个到多个

书写格式:.类名{声明块}

列:.box1{color: deeppink;}

类名:1 命名方式:是自定义的(字母,下划线,不可以数字开头)

3.层次选择器

1 子集选择器

书写格式:A父元素>B子元素{声明块}

列:nav>a{color: teal;}

 

 

盒子的分类

不同的元素产生的盒子类型可能不同

一个元素,产生什么样的盒子取决于它的display属性

inline 行盒 block 块盒 none 不生成盒子 display 其它盒子

属性:display 默认值:inline 不能被继承

盒子的组成

margin 外边距 与其它盒子之间的距离

border 边框 { 1边框粗细大小 2样式(实线solid,虚线dashed 等 3样色)}

padding 内边距 边框与内容之间的距离

content 内容

width宽度 height高度)取值单位:像素 px

批量生成文本内容:乱序铭文

lorem个数 例子:lorem3

常规流块盒水平方向居中步骤

1 给固定宽度 2 margin:auto;

 

main标签: 页面主体内容:一个页面只出现一次

1:页面在一个固定宽度内

2:让内容在整个页面位置居中

 

 

外部样式表:多用于开发

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

 

内部样式表:多用于测试

<style></style>

 

文本对齐方式:

字体大小

左对齐 text-align: left;

居中 text-align: center;

右对齐 text-align: right;

字体加粗 font-weight: bold;

 

当两个块级元素进行嵌套时,这两个元素的外边距是被进行合并的

(谁大取值谁的外边距)

但是,子元素是完全嵌套在父元素里面

解决方法:针对父元素添加边框

 

 

Flex 布局:弹性布局

容器和项目:

容器:装东西(元素 标签)

A元素装了一个B元素

A相对B:就是容器

B相对A:就是项目

A:父元素(容器)

B:子元素(项目)

 

主轴和交叉轴:

主 轴:默认水平向右(x轴)

水平方向的位置:左 中 右

交叉轴:默认水平向下(y轴)

垂直方向的位置:上 中 下

 

 

创建弹性布局:

display: flex;

针对某个元素添加了display: flex; 这个元素就是容器

里面的子元素就是项目

特点:所有的项目(子元素)都会一行显示。

当所有项目的宽度之和大于容器时,所有项目依旧在一行显示

,且每个项目都自动缩小

 

desplay:flex-wrap;是否换行

 

flex-wrap: nowrap; 不换行

flex-wrap: wrap; 换行

flex-wrap: wrap-reverse; 倒过来换行

 

 

justify-content: ;

justify-content: flex-start; 主轴的起点对齐

justify-content: center; 主轴的中间对齐

justify-content: flex-end; 主轴的终点对齐

 

 

剩余空间:容器的宽度 - 项目之和的宽度 = 剩余空间

 

justify-content: space-between; 项目和容器的距离为0

justify-content: space-around; 项目和容器的距离=项目和 项目的距离*0.5

justify-content: space-evenly;项目和容器的距离=项目和 项目的距离*1

 

 

 

emmet插件

批量生成标签书写格式:标签名*n a*n

 

 

<!-- HTML和CSS相关联 -->

<!-- 外部引用样式表 -->

<link rel="stylesheet" href="./index.css">

 

 

<a href="网址URL">超链接</a>

url地址:

路径:某个文件的位置

相对路径和绝对路径

 

绝对路径:

地址是唯一的,通常用来:调用其他网站的资源 访问站外资源

协议://网址/文件名名称

协议:http:// https://

网址:www.baidu.com

文件名称:根目录:文件名称地址

案例:https://www.baidu.com/img/flexible/logo/pc/result.png

 

相对路径:两个位置的相对路径,相当于当前资源的位置,只能访问站内资源

格式:. / :当前文件夹位置(可以省略),针对当前网站的资源

../ :返回上一层目录

 

 

 

 

 

display: flex;

flex-wrap: nowrap; :不换行

flex-wrap: wrap; 换行

flex-wrap: wrap-reverse; 倒过来换行

 

justify-content: flex-start; 主轴起点对齐

justify-content: center; 主轴中间对齐

justify-content: flex-end; 主轴终点对齐

 

剩余空间

justify-content: space-between;

项目与容器的距离为0

justify-content: space-around;

项目与容器的距离为项目和项目的距离*0.5

justify-content: space-evenly;

项目与容器的距离为项目和项目的距离*1

 

align-items: flex-start; 交叉轴起点对齐

align-items: center;交叉轴中间对齐

align-items: flex-end;交叉轴终点对齐

 

 

当项目没有设置高度时,

项目和容器的高度一致

align-items: stretch;

基线对齐

align-items: baseline;

 

行高让块盒居中的方法

height: 100px;

line-height:1oopx ;

 

 

去除下划线

text-decoration: none;

text-decoration: underline;

对一段文字中的某几个文字进处理

<span></span>

 

 

 

动画:简单动画通常称为“过渡 transition”

transition-property:元素名(width宽度),(height高度);等等

transition-duration: 1.5s;变化的时间,1s=1000ms

opacity: 0;透明,取值范围0-1,0透明,1不透明

复杂动画

@keyframes move:@引用,keyframes 复杂动画,move动画的名字,自己设置。

调用动画

animation:move 2s 2;move:自己设置的动画的名字 2s:动画的时间,2:动画播放的次数(infinite无限循环)

旋转

transform: rotate(65deg)旋转65度

缩放

transform: scale(1)

取值:默认值是1,大于1的时候放大,小于1的时候缩小

倾斜

transform: skew

 

层叠 继承 渐变 移动端布局

    

 

层叠

1.比较优先级 优先级低的声明块会被淘汰,优先级高的声明胜出

!important

若属性值后跟上!important,则表示一条重要声明,否则,表示普通声明

2.比较特殊性 特殊性低的声明会被淘汰,特殊性高的声明胜出

行内样式>ID选择器>类选择器>元素选择器>通配符选择器

(特殊性从高到低)

比较特殊性-具体规则

在比较特殊性时,每一个冲突的声明,会生成4个数字(a,b,c,d)以比较特殊性a越大,特殊性越高,若a相同,比较b,b越大,特殊性越高,依次类推。

a:若声明是行内样式,则为1,否则为0

b:规则中的ID选择器的个数。

c:规则中类选择器,伪类选择器和属性选择器的个数

d:规则中元素选择器,伪元素选择器的个数

当计算选择器分组的时候,需要分开计算。

3.比较源次序 源次序靠前的声明会被淘汰,靠后的声明胜出

继承:是指子元素会自动拥有父元素的某些CSS属性,继承须有传递性

可继承的属性:color ,font-size,font-weight,text-align

不可继承的属性:background-color

继承发生的场景:一个元素的某个CSS属性,只有满足两个条件,才会继承父元素。

1.该属性是可继承的属性

2.该属性在样式表中没有声明

强制继承:也叫显式继承,是指将CSS属性设置为inherit这样做,通常有两个原因:

1.为了继承有些不可继承的属性

2.为了继承已被声明的属性

渐变

径向渐变:

background-image: radial-gradient(pink,blue);

移动端布局

阶段:1.百分比2.750的固定宽度3.flex+rem4.栅格系统

表单

   

form表单:适用场景:登陆,注册,提交,搜索<form acti

on="提交地址"></form>

action:表单数据提交的地址

method:表单数据传输的方式

get:把提交的数据放在地址栏进行提交

post:不会把提交的数据放在地址栏进行

下拉列表

<select name="" id=""></select>

<select multiple>multiple:可以让下拉列表变成多选

下拉列表项

<option value=""></option>

多行文本

<textarea cols="30" rows="10"></textarea>

cols:一行可以写的字符数,两个字符为一个汉字,字母和数字都是一个字符。

rows:可以展示内容的行数。

控件:input

value:值,黑色文字,提交给服务器,用户输入内容后,值不会消失。

<input type="text" value=“”> text为文本内容会直接显示在输入框

文本:text

<input type="text" placeholder=”“>

placeholder:提示文字,文字颜色为灰色,当用户输入内容,提示文字消失,对文本框(text),密码(passwo),多行文本(textarea)有效

<input type="text" placeholder=”“ required="">

required:代表控件是必填项,如果没有填写,则会提示。

readonly:只读,只能看到不能修改,对文本框,密码,多行文本

disable:不可用,控件变成灰色,对所有控件

单选:radio

<input type="radio">

<input type="radio" value="男" name="sex" checked>男

checked:默认选中,只针对单选(radio)和复选(checkbox)

单选需要用name来进行划分为一组

多选:checkbox

<input type="chekbox">

文件:file

<input type="file">

颜色:color

<input type="color">

日期:date

<input type="date">

体重:range

<input type="range">

隐藏:hidden

<input type="hidden">

按钮:button

<input type="button" value="按钮">

提交登陆:submit

<input type="submit" value="提交/登陆">

清除(重置):reset

<input type="reset">

图片:image(只有提交和重置的功能)

<input type="image">

属性选择器

1.元素名[属性名=“属性值”]{声明块}

2.元素名[属性名^=“属性值”]{声明块}(^表示选中属性名开始的元素应用样式)

3.元素名[属性名$=“属性值”]{声明块}($表示选中属性名结束的元素应用样式)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值