p: 段落标签 br: 换行标签 strong:加粗 em:倾斜 del:删除线 ins:下划线
hr:水平线
div:
一个大盒子,一行一个,用来包装,方便布局。
多类名class = "name1 name2"每个类名用空格隔开
span:一个小盒子,一行多个,用于布局。
img:
src:图片路径
alt:图片显示不出来的时候用文字来显示
title:鼠标放到图片上,显示的文字
width:设置图片宽度
height:设置图片高度
border:设置图片边框
a:
href:跳转目标
href="#"表示暂时不知道开发到哪个页面,暂时顶替
如果href是给的文件、zip、exe那么会下载该文件
还可以内嵌图片或者音频,点击图片进入链接。
target:弹出方式,默认是当前页面打开_self,新窗口打开_blank
锚点链接:即跳转到当前页面的固定位置,在链接的href属性中,设置为 #名字 的形式。然后再目标位置的标签上添加一个id属性=刚才的名字。
table:
tr:定义表格的行
td:单元格//因为table没有列的概念
th:表头单元格,加粗居中显示。
align:对齐方式
border:边框
cellpadding:内容与单元格之间的空隙
cellspacing:单元格之间的空白
width:表格宽度
thead:表示第一行表头区域
tbody: 表示内容区域
rowspan:跨行合并(上下)合并后删除多余的单元格
colspan:跨列合并(左右) 合并后删除多余的单元格
ul:
ul/li无序列表
ul中可以内嵌标签
li中可以内嵌各种标签
去掉li中的小圆点用list-style:none;
ol:
ol/li 有序列表
ol中不允许再放其他标签
li中可以内嵌各种标签
dl:
dl/dt 自定义列表
dt:大哥(主干)
dd:大哥的小弟(分支)
dt和dd都可以放任何标签
form:
action:url地址提交到服务器的地址
method:表单的提交方式post or get
name:表单的名称
input:
type:
- text文本
- password密码
- radio 单选 要实现多选一 需要设置一个name值
- checkbox 定义复选框
name:为每个表单设置一个名字,方便后期我们进行处理。
value:设置传输到后台的值
checked:预加载选择哪个,针对于radio和checkbox来说
maxlength:输入最长字符个数
label:
for="名字"这里的名字要和之后的input的id相同
增加用户体验
select:
option:选项1
selected:初始选项
textarea:
当用户输入过多的时候就采用这个
路径:
目录文件夹:存放html的文件夹
根目录:目录文件夹的第一层就是根目录
相对路径:
假设当前文件夹内有demo.html demo2.html-----有img文件夹内涵pic.jpg,外部有gif/gif1.gif当前所在文件夹为demo.html
- 同一级相对路径,demo2.html
- 下一级相对路径,images/pic.jpg
- 上一级相对路径,../gif/gif1.gif
绝对路径:针对于计算机来说的完整路径G:\uniapp\HTMLSTU\img
所有的css都应当写在head标签中,每个语句后都应当加入;号
CSS选择器,即在每个HTML的标签中加入标定,然后再CSS中选择标定。
基础选择器:标签选择器,类选择器,id选择器
- 标签选择器:标签名 { 属性;}
- 类选择器:.类名{属性;}记住一定有个点在前面
- id选择器:#idname {属性;} id 只允许存在唯一性。不允许重名。
- 通配符选择器:* {属性;} 通配符选择器选择所有的标签
CSS字体属性:字体系列、大小、粗细、文字样式(斜体)
font-family:
定义文本的字体系列。
font-size:
font-size = '20px'
定义文本字体大小
font-weight:
定义文本的粗细
font-style:
normal:正常
italic:意大利斜体
复合写法
font: italic 700 16px 'microsoft yahei'
style weight size family不可颠倒顺序,不需要设置的可以不写,但必须保留size family属性!!!
css文本属性:定义文本的外观,颜色、对齐方式、装饰、缩进、行间距
color:
文本的颜色
text-align:
文本的对齐方式
left默认左对齐
right
center
text-decrotaion:
装饰文本
none:默认没有装饰线
underline:下划线
overline:上划线
line-through:删除线
text-indent:
指定文本的第一行缩进,段首空两格
text-indent = 40px缩进40px大小
line-height:
行间距,行与行之间的距离=上间距+下间距+文本高度
line-hright = 20px
三种样式表:行内式、嵌入式、链接式
内部样式表:
在head中写入style,这个style依旧存在html中
行内式:
列入div style = "color: pink"
链接式:
创建一个css文件编写各个标签的央视
然后再html中引入,link rel="stylesheet" href="路径"
Chrome调试工具:自行百度
Emment语法:
html
生成标签直接输入标签名按tab键即可
如果想要生成多个相同标签 div *3
如果有父子级的标签 ul > li即可
兄弟级 div + p
生成带有类名或者id的,类.demo或 id #two
生成div类名是由顺序的,可以用自增$
css
每个开头缩写 w100 = width : 100px
CSS复合选择器
后代选择器:
可以选择父元素里面的子元素,写法 外层写外面 内层写后面 中间用空格
元素1 元素2 {样式;}
元素1 元素2 可以是任意基础选择器
子选择器:
选择最近一级的子元素
元素1 > 元素2 {样式;}
并集选择器:
可以选择多组标签,为他们定义相同的样式
元素1, 元素2 {样式;}表示元素1和元素2都更改样式
伪类选择器:
用于向元素添加一些特别的效果
a:link {color}这里设置未访问的链接效果
a:visited {color;}这里设置访问过的链接效果
a:hover {color;}这里设置鼠标经过的效果
a:active {color;}这里设置一直按着的时候的效果
css元素显示模式:
标签以什么样的方式来显示,例如div自己占一行,span一行好多个
HTML分为块元素和行元素
例如DIV就可以称为块元素,SPAN就称为行元素。
块元素:
h、p、div、ul、ol、li、等都成为块元素,占一行
可定义长宽高及其编剧
默认是占一整行
标签内部可以嵌入行内或者块级元素
文字类标签p、h不能放块级元素div
行内元素:
a、strong、b、em、i、del、s、ins、u、span也成为内联元素
相邻的行内元素在一行上,一行可以显示多个
默认宽度就是内容的宽度,不可重定义
行内元素只能容纳文本或者其他行内元素
行内块元素:
img、input、td同时具备块元素与行内元素的特点
与相邻行内元素、行内块元素出现在同一行,但是它们之间会有缝隙
默认宽度即内容宽度
长宽高可控
元素显示模式转换:
块元素->行元素->行内元素之间互相转换
转换为块元素:display:block;
转换行元素:display:inline;
转换成行内块元素:display:inline-block;
css背景:背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定
背景颜色:background-color
背景图片:background-image:none | url (url)
背景平铺:background-reapeat: no-repeat
背景位置:background-position: x y;
- 方位名词 background-position: center top;表示水平居中,竖直靠上
- 精确单位 background-position: 50px 20px;x=20 y=50;
- 混合单位 background-position: center 20px;水平居中 y=20;
背景固定:background-attachment:fixed固定 or scroll滚动默认
设置背景是否随着页面的其余部分滚动
复合写法:颜色、地址、平铺、滚动、位置
background: blakc url(xxx) no-repear fixed center top
背景色半透明:background: rgba(0,0,0,0.3)我们最后一个0.3位置负责透明度
css三大特性:
层叠性:多个样式重叠时,取最后一个样式。样式不重叠的部分不被重叠。
继承性:子标签会继承父标签的样式。
优先级:权重问题,查表。!important>行内样式>id > class > 元素
盒子模型:
网页布局的过程:
1、准备好网页的相关元素、网页元素基本都是盒子BOX
2、利用CSS设置好盒子样式,然后摆放到相应位置。
3、往盒子里装内容
组成:
border:盒子的边框
content:展示的内容
padding:内边距(控制内容和边框的距离)
margin:外边距(控制盒子与盒子之间的距离)
border:
元素的边框,边框的粗细、边框的样式、边框的颜色
border : border-width || border-style || border-color
border : 5px solid #FFFFF;
通过border-top可以设置上边框的所有样式
border-top: 5px solid #FFFFF;
border-collapse:collapse;合并相同的边框
border-radius:10px;圆角
设置盒子的阴影。
border-shadow:
- hshadows:水平移动阴影
- vshadows:竖直方向
- blur:边缘模糊程度
- spread:阴影的尺寸
- color:阴影的颜色
- inset:内阴影还是外阴影
text-shadow:
- 文字阴影,和盒子的阴影用法一致。
padding:
控制内容与边框的距离
padding-left:20px距离左边20
居中
padding:10px;表示上下左右都是10px;
padding:5px 10px;表示上下5 左右10;
margin:
控制盒子与盒子之间的距离
盒子居中对齐
margin: 0 auto;
如果要让标签内的行内块元素居中对齐,添加text-align:center即可
当大盒子嵌套小盒子的时候想要操作小盒子的位置可采取以下方法:
需要在大盒子上面添加边框border: 1px splid transparent
添加内边距 padding 1px;
overflow: hidden;
传统页面布局的三种方式:普通流、浮动流、定位流
标准流:
按照默认的排列方式
块状元素一行一个 div hr p h ul ol dl form table
行内元素一行多个span a i em
浮动流:
让多个块级元素排列在一行,方便布局。
纵向排列用标准流,横向排列用浮动流
- 浮动元素会脱离标准流(脱标)
- 浮动的元素一行内显示并且元素顶部对齐
- 浮动的元素会具有行内块元素的特性
这里的浮动指的是你对元素采取浮动操作然后它会浮动到屏幕上方。后面的标签会到它的后面。类似于浮起来的元素覆盖之后的标签。
任何元素赋予了浮动性质后都会含有行内块的特性。
浮动元素经常和标准流父级搭配使用。
即一个大盒子 内嵌许多小盒子,然后浮动这些小盒子即可。
注意点:
- 浮动和标准流的父元素进行匹配//也就是基准是以当前元素的父元素进行浮动排列匹配
清除浮动:
是为了方便浮动元素不改变父元素的高度,能够自动的拓展父元素。清除浮动造成的影响。
解决方案如下:
额外标签法(隔墙法):
- 在浮动元素的末尾创建一个新的div或者块级标签
- 然后定义样式clear:both
父级添加overflow法:
- 给父级标签添加overflow属性,设置为hidden、auto或者scroll
- overflow:hidden
给父元素添加clearfix伪元素法:
原理:相当于在父标签的结尾添加了一个新的盒子
.clearfix:after { content: ""; displat: block; height: 0; clear: both; visibility: hidden; }给父元素双伪元素清除浮动:
1
.clearfix:before, .clearfix:after{ content: ""; display: table; } .clearfix:after { clear:both; } .clearfix { *zoom,:1; }
CSS书写顺序:
- 布局定位属性:
- 自身属性:
- 文本属性:
- 其他属性:
页面布局顺序:
- 查看盒子分布,即测量出可视区的大小。
- 分析页面中的行模块、列模块。
- 一行中的列模块经常浮动布局,先确定列的大小之后确定列的位置。
- 布局结构->代码实现
导航栏:
- 实际开发中,我们不会直接用链接a而是用li包含链接a的做法。
CSS定位介绍:
让某些元素始终固定在屏幕上,或者让元素能够在页面中随意移动。
组成:定位=定位模式+边偏移
定位模式:用于指定一个元素在文档中的定位方式,边偏移则决定了该元素的最终位置。通过css的position来决定。固定定位or相对定位
position:
值 语义 static 静态定位 relative 相对定位 absolute 绝对定位 fixed 固定定位 边偏移:定位的盒子移动到最终位置。有top、bottom、left和right4个属性。
边偏移属性 实例 描述 top top: 80px 顶部偏移量,相对于其父元素的上边距离 bottom bottom:80px 顶部偏移量,相对于其父元素的上边距离 left left: 80px 顶部偏移量,相对于其父元素的上边距离 right right: 80px 顶部偏移量,相对于其父元素的上边距离
realative相对定位:
定义的坐标是基于原来该盒子所在的位置进行移动。
盒子移动之后它原来所在的位置并不会由下一个盒子进行占位。
示例代码:
.demo1 { position: relative; top: 100px; left: 100px; }上面这表示类名demo1的元素基于原来的位置距离上100px,距离左100px。
absolute绝对定位:
绝对定位是元素移动位置的时候,相对于它祖先元素来说的。
如果不存在父元素,那么定位以浏览器的坐标为基准。
如果存在父元素,但是父元素没有定位。那么定位以浏览器的坐标为基准。
如果父级进行了定位,那么就以父亲作为基准进行定位。如果它的祖先存在定位,那么以最近祖先作为基准进行定位。
绝对定位就相当于浮动且大于浮动,自己的位置会被下一个元素所占有。
如果想固定在父级的某个位置需要在父级元素中加position: relative;
fixed固定定位:
固定定位是将某个元素始终出现在屏幕的某个位置。滚动时依旧可见。
它是以浏览器的可视窗口作为参照点进行移动。与父亲没有关系。
如果要固定到某个元素中跟随,而不是跟着浏览器。
先让盒子走left50%让他走到一半。
让固定的盒子margin-left:版心宽度的一半,多走版心的一半即可实现该功能。
sticky粘性定位:
始终能让你看到,会自动随着浏览器走!注意区分fixed。
不常用
定位的叠放次序:
使用定位布局时,可能会出现盒子重叠的情况,此时可以用 z-index来控制盒子的前后次序。
z-index: 1;数字可以是正整数、负整数、0,默认是auto,数值越大,盒子约靠上。
绝对定位的水平居中算法:
left走50% left: 50%
margin-left:-盒子宽度的一半
top:50 %
margin-top:-盒子高度的一半
布局技巧:
使用margin-left: -1px可以达到每个盒子都有一个框且重复的地方不会变粗
如果要实现鼠标选择变色,那么需要在鼠标操作过程中添加绝对定位。
文字围绕浮动元素:
要巧妙运用浮动元素不会压住文字的特性
CSS初始化:
每个网站都需要进行初始化,方便兼容多种浏览器。
HTML5新增:
header头部标签
nav导航栏标签
article内容标签
section定义文档某个区域
asider侧边栏标签
footer尾部标签
audio:
mp3、wav、ogg
其操作属性与video差不多
src:文件地址
controls:播放控件
video:
mp4、ogg
src:文件地址
controls:向用户显示播放控件
autoplay:自动播放(谷歌浏览器需要添加muted)
loop:无限循环播放
poster:加载等待的画面图片
可以引入source标签解决浏览器不兼容的问题
input:
可根据type的类型选择输入的属性值
例如email url date time month week number tel search color
file:提交文件
required:表单拥有该属性表示内容不能为空
placeholder:表单的提示信息
autofocus:页面加载完自动聚焦到表单
autocomplete:之前如果输入提交成功过,记录以前输入过的内容。
multiple:提交多个文件
CSS新增属性选择器:
属性选择器:
input[value]表示选中所有含有value的input标签
input[type="password"]选中type=password的input标签
div[class^="icon"]选中类名class以icon开头的div标签
div[class$="icon"]选中类名class以icon结尾的div标签
div[class*="icon"]选中类名class属性值中含有icon的div标签
伪类选择器:权重1
ul :first-child:选择ul中的第一个孩子。
ul :last-child:选择ul中的最后一个孩子。
ul :nth-child(4):选择ul中的第四个孩子。
ul :nth-child(even):选择ul中的第偶数个孩子。odd就是奇数
ul :nth-child(n):选择ul中的所有孩子。这里的n是从0~最后一个
所以n->2n偶数->2n+1奇数->5n...等等
nth-of-type:是根据你前面规定的标签中第几个来选择。而nth-child则是根据父元素开始向下数。
伪元素选择器:可以用css来创建新标签元素,而不需要html标签。
::before在元素内部的前面插入元素
::after在元素内部的后面插入元素
例如:
div ::before{ content:'我';//这个一定要加 display: none; width: 50px; ... }
CSS3盒子模型:
原来盒子的大小=width+padding+border
现在盒子的大写可以用box-sizing: content-box;加了这个之后就不会撑大盒子了。
CSS3图片模糊处理:
filter: blur(5px)这里面可以设置数值,数值越大,图片越模糊。
CSS3宽度计算函数:
width: calc(100%-30px);表示比它的父盒子小30像素。
CSS3属性过度:
用来实现一些简单的动画。通常和hover一起使用
transition: 属性 时间 运动曲线 延迟时间;
运动曲线:linear(匀速)、ease(逐渐变慢)、ease-in(加速)、ease-out(减速)、ease-in-out(先加后减速)
div { width: 10px; transtion: width 0.5s ease 1; //如果想要多个属性都变化那么width -> all; } div:hover { width: 20px; }
translate:
对元素进行移动,且不会影响其他元素的位置。
transfrom: translate(30px,30px);(x,y)这里的x是指x轴移动,y就是y轴移动。
Tips:
1、保持文字居中,原理就是让行高等于盒子的高度
height: 40px; /* 保持文字居中 */ line-height: 40px;
2、开发过程中尽量不要写全局样式标签,否则容易覆盖 3、浮动定位不会压住标准流的文字,但会压住标准流的盒子。但绝对定位会压住下面标准流的所有内容。