前端HTML和CSS知识点总结很详细 建议收藏

html思维导图


 css思维导图



01.vscode软件的使用

ctrl+ +- :调整视图大小

!+table :初始化html结构

CTRL +? :添加注释

注释的作用: 给网页添加说明

h1+table :快速闭合标签

div{hello}+table :设置标签内容

div*5+table :创建5个div (5为需要创建的个数)

alt+鼠标左键 :创建多个光标,可以进行同时修改

div.box+tab 生成带类名的标签

alt+ 鼠标左键 修改多处

shift+tab 退缩进

关键帧动画及相关的属性

@keyframes :创建动画是通过逐步改变从一个CSS样式设定到另一个。

/* 添加关键帧动画    格式   @keyframes 动画名*/

@keyframesshang{

to{

margin-top:-200px;

}

       }

该属性需要与 animation属性配合使用

animation 该属性有多个内容 名称要与关键帧属性的名称相同, 时间就是动画的持续时间

animation:shang5ssteps(4)infinite;

/* 参数一 动画名  参数二动画持续时间  参数三 运动速率 参数四 动画延迟  参数五 动画播放次数 参数六 动画方向  参数七 动画结束时的状态 */

animation:namedurationtiming-functiondelayiteration-countdirectionfill-mode;

overflow: hidden 溢出隐藏,将子类超出父类元素的部分隐藏

.fu{

width:1229px;

height:580px;

background-color:blue;

/* 溢出隐藏 */

overflow:hidden;

}

.zi{

width:1200px;

height:2900px;

font-size:0px;

background-color:brown;

animation:shang10s;


鼠标在范围内动画播放状态

:hover 选择器用于选择鼠标指针浮动在上面的元素。

hover只能影响元素本身及其子元素

.zhong:hover{

animation-play-state:paused;

}

.zhong:hover.small{/*当鼠标经过.box时.box 的子元素.small改变 */

animation-play-state:paused;

}


鼠标再特定位置上动画的播放状态

animation-play-state:paused;

psused:停止

running:播放

元素过渡效果

transition:all2s

当元素css属性发生变化时会有2s的过度时间

元素转换

transform 不管怎么变都不会影响元素本身占位

transform:scale(2)//元素沿中心放大或缩小几倍

transform:rotate(45deg)//元素旋转多少度,数字为正顺时针旋转,为负逆时针。deg时角度单位

transform:scale(2)rotate(45deg);可同时使用

translat()

元素透明

opacity:0.5;


opacity设置元素透明度,默认为1.(范围0-1)



其他

文本

行高和容器高度一致时,文本内容可以上下居中

height:50px;

line-height:50px;

text-aglin:center文本居中


设置字体 font-family:微软雅黑;


引入字体 @font-face

@font-face {

font-family:粗体 ;

src:url("STHUPO.TTF");

              }



定位

position : relative 相对定位 成为子元素绝对定位的参照物

position: absolute 绝对定位 脱离文档流 悬浮在其他元素之上

绝对定位元素参考的是离他最近的带有==定位==属性的父级元素



元素投影

box-shadow盒阴影 text-shadow 文字阴影 有4个值

x轴偏移量

y轴偏移量

模糊程度

投影颜色

inset 内投影 <!--(只有和阴影可用)-->

box-shadow:010px10pxrgb(100,99,99);

text-shadow:3px4px1pxred ;



HTML正式开始

01初识web应用

CS BS

client客户端 server服务端 browser浏览器

client-server app 桌面端应用

bowser-server 网页应用

BS相当于CS的优点

BS依赖于浏览器 无需安装

BS跨平台

混合app开发 app外壳内置浏览器

界面开发

html负责网页搭建结构

css负责元素的美化

javascript 负责网页交互(网页特效)


框架: Vue React Angular

开发流程

产品经理规划功能(客户) 出草图(原型图);

交给ui出效果图;-----需求文档交给后端;

交给前端写页面布局及网络特效

将静态页面转化为动态页面;

静态到动态:

1. 传统模式:将静态页面交给后端 后端使用模板引擎技术 将数据与结构混合;

    2. 前后端分离:前端请求数据接口,通过js将数据与结构混合;

测试

发布上线

实体字符

标签

语义化标签(标签的意思和使用场景)

对语义化标签的理解:

什么标签放什么内容,h标签放标题,p标签放段落文字,

就算css加载失败 也能清晰展示页面结构

方便搜索引擎抓取网页内容,有利于seo;


div和span没有任何语义

块标签

(占据一行,上下排列)

块元素 如果不设定宽度 宽度会与父元素保持一致

如果不设定高度 高度靠子元素撑起

div 容器标签

p 文本标签

h1-h6 标题标签


ul li 无序列表

展示列表信息

ul 包含整个列表

li 单个选项

list-style:none;   清除样式


ol li 有序列表


table 表格

table 的开始标签中 添加border属性定义边框 cellpadding 扩展单元格 cellspacing单元格间距

tr 行

td 单元格

rowspan 竖跨几行 独占几行

    colspan  横跨几列   独占几列

th 标题单元格


定义表格

table的开始标签中添加borter属性定义表格

cellpadding 扩展单元格

-->

受理员

受理数

自办数

直接解答

到办意见

返回修改

工单类型

同意

比例

数量

比例

建议件

述求件

咨询件


form 表单区域

action 指定表单提交地址

提交路径 ? 之前是提交地址 ?之后是 本次携带的信息

提交按钮 可以提交当前form包裹的所有表单元素信息


行内标签:

(对于局部文字进行修饰,无法设置元素宽高)

行内块元素 无法设定宽高

span 行内的div

em 倾斜

strong 加粗

a 链接标签

href 指定链接地址

返回上一级 ../


加入我们

target 默认值 self 在当前标签内打开新页面

blank 新建标签页打开新页面


让a标签点击不跳转   在href中只填加  #  号

按钮

==锚点==:

点击a标签时页面会滚动到相应ID名的元素的位置


点击a标签时 页面会滚动到相应ID名的元素位置

-->

下载软件

江苏网通

河南电信

山东移动




行内块

如果不设定宽度 宽度靠子元素撑起


img 引入图片

img标签 默认按照图片原始尺寸显示

src指定资源路径 可以引入网络路径也可引入本地路径

title 添加图片说明

alt 当图片资源加载失败时的替代文本


在这里我就要说一下,在什么情况下才使用这个标签,除了一些装饰的图片、或没有实际用途的,我们一般用CSS的背景图来设置。在一些实用的数据,如:新闻的图片,介绍某种东西的图片,这种情况下,我们建议使用img来实现,相册大家都知道使用img标签吧,如果使用背景,就没办法保存图片,这也就是实用数据的表现!

img标签有2个重要的属性,建议都填写

img的主要属性作用备注

src图片的地址(一般是网络路径/绝对路径)一定要有,不然图片就显示了一个红色的叉

alt用于描述图片的文字叙述建议写,在某些情况下,如果图片无法显示,都还可以用写文字提示给用户看


input 输入框

类型解释

type设定输入框的格式

value指定输入框默认填写内容

placeholder设置占位内容 用于提示输入框功能


Type描述基础例子Spec

button没有默认行为的按钮,上面显示 value 属性的值,默认为空。  

checkbox复选框,可设为选中或未选中。  

color用于指定颜色的控件;在支持的浏览器中,激活时会打开取色器。 HTML5

date输入日期的控件(年、月、日,不包括时间)。在支持的浏览器激活时打开日期选择器或年月日的数字滚轮。 HTML5

datetime-local输入日期和时间的控件,不包括时区。在支持的浏览器激活时打开日期选择器或年月日的数字滚轮。 HTML5

email编辑邮箱地址的区域。类似 text 输入,但在支持的浏览器和带有动态键盘的设备上会有确认参数和相应的键盘。  

file让用户选择文件的控件。使用accept属性规定控件能选择的文件类型。  

hidden不显示的控件,其值仍会提交到服务器。举个例子,右边就是一个隐形的控件。  

image带图像的 submit 按钮。显示的图像由 src 属性规定。如果 src 缺失,alt 属性就会显示。  

month输入年和月的控件,没有时区。 HTML5

number用于输入数字的控件。如果支持的话,会显示滚动按钮并提供缺省验证(即只能输入数字)。拥有动态键盘的设备上会显示数字键盘。  

password单行的文本区域,其值会被遮盖。如果站点不安全,会警告用户。  

radio单选按钮,允许在多个拥有相同 name 值的选项中选中其中一个。  

range此控件用于输入不需要精确的数字。控件是一个范围组件,默认值为正中间的值。同时使用htmlattrdefmin 和 htmlattrdefmax来规定值的范围。 HTML5

reset此按钮将表单的所有内容重置为默认值。不推荐。  

search用于搜索字符串的单行文字区域。输入文本中的换行会被自动去除。在支持的浏览器中可能有一个删除按钮,用于清除整个区域。拥有动态键盘的设备上的回车图标会变成搜索图标。 HTML5

submit用于提交表单的按钮。  

tel用于输入电话号码的控件。拥有动态键盘的设备上会显示电话数字键盘。 HTML5

text默认值。单行的文本区域,输入中的换行会被自动去除。  

time用于输入时间的控件,不包括时区。 HTML5

url用于输入 URL 的控件。类似 text 输入,但有验证参数,在支持动态键盘的设备上有相应的键盘。 HTML5

week用于输入以年和周数组成的日期,不带时区。  

废弃的值   

datetime用于输入基于UTC时区的日期和时间(时、分、秒及秒的小数部分)。  

type="text" 文本输入框

type="password" 密码输入框

type="date" 选择日期

type="radio" 单选按钮 一组单选按钮需要添加共同的name值 添加checked属性指定默认选择项


type="checkbox" 多选框 需要添加共同的name值 name值需要在最后加[]号 添加checked属性指定默认选择项


type="color" 颜色选择(不常用)

type=“button” 按钮

type=“submit” 提交按钮

typle="file" 选择文件

value 指定输入框默认填写内容

placeholder 提示框 设置占位内容 用于提示输入框功能


label 扩大鼠标的点击区域

rap



select 选择框

option标签内容是让用户看的,value值是让程序使用的;

当程序获取选择结果时, 优先获取所选option的value值

option 包裹单个选项

option 添加 selected属性指定默认选择项



格式化标签

center 内容居中

br 折行

<pre> </pre> 保留代码缩进


实体字符

src 和href的区别

src引入外部资源

href关联外部资源

css

引入方式

行内式 缺点:

html和css混杂在一起 结构不够直观

多个元素相同样式 还需重复书写

helloworld


内嵌式 在head中创建style标签书写样式

书写结构 选择器{

样式属性:样式值

}

外链式 通过link引入外部css资源


css常用命名

包裹容器 wrap 页面主体 main 网页头部 header 网页底部 footer 轮播图 banner 广告 ad 导航 nav 菜单 menu 子菜单 sub-menu 列表 list 选项 item 下载 download 标志 logo 提示 tips 热点 hot 新闻 news 地址 address 登录 login 注册 registry 用户名 userName 密码 password 内容 content 文本 text 价格 price 上一个 prev 下一个 next 箭头 arrow 更多 more 标题 title 子标题 sub-title 商品 product 添加 add 修改 update 删除 delete 消息 message 笔记 note 搜索 search 结果 result 加入 join 主页 home 手机号 tel 状态 status 时间 time 日期 date 图片 picture 图标 icon 数据 data 左 left 右 right 上 up 下 down 中 center 当前 current 激活 active 显示 show 隐藏 hide 打开 open 关闭 close 禁用 disabled 扩展 extend

css三大特性

层叠性

继承性: 有些不能继承定位 过度 浮动 颜色 字体 居中

优先级

css选择器

*通配符 选择页面中所有标签 一般用于重置浏览器默认样式

*{

color:red;

       }

同级选择器 优先级采用就近原则

标签选择器 指定标签名

p{

color:green;

       }


类名选择器 .类名

.text{

color:purple;

       }


id选择器 #id

#txt{

color:orange;

       }



类名

首字符必须是字母或 _ 剩余字符可以是字母、数字、_ 、-

公共样式 起一个共同的类名

某一个元素有差异 单独增加类名定义样式

id选择器

唯一性

级联选择器

增加权重

使用: .+类名+空格+.+类名+空格+...+标签名


子代选择器

只能选择作为某元素子元素的元素

选择器 h1 > strong 可以解释为“选择作为 h1 元素子元素的所有 strong 元素

例:

.wrap>p{

} //.wrap字标签中的子标签p  

并列选择器

同时选择几个标签 中间用逗号隔开

div,p{

}

属性选择器

属性名,属性名=属性值(正则)

= 绝对等于

*= 包含这个元素

^= 以这个开头

$= 以这个结尾

存在id属性的元素

a[id]{

}


优先级

!important强制优先级>行内>id>class>标签>*

当使用嵌套选择器 按照权重值计算优先级

*0

标签名 1

类名 10

id 100


文本样式

color: 文字颜色

font-size: 字号

text-indent:2em;首行缩进 1em=一个文字的大小 2em表示缩进2个文字

font-weight: 字体粗细

bolder; 加粗

normal 取消加粗

line-height: 行高

letter-spacing: 字间距 主要用于调整汉字

world-spacing: 字间距 用于调整 单词

/* 文字颜色 */

color:red;

/* 文字大小 */

font-size:20px;

/* 首行缩进  2字符 */

text-indent:2em;

/* 加粗 */

font-weight:bolder;

/* 行高 */

line-height:30px;

/* 字间距 */

letter-spacing:10px;

/* 字体 */

font-family:楷体;


font-family:宋体; 字体

如果用到特殊字体 导入字体文件

@font-face {

font-family:粗体 ;

src:url("STHUPO.TTF");

              }


文本修饰

text-decoration:

line-through;删除线

underline 下划线

overline 上划线

none 重置

text-aligin:center 文本对齐

center 居中

left 居左 默认值

right 居右

/* 文本居右 */

text-align:right;

/* 下划线 */

text-decoration:underline;

/* 取消加粗 */

font-weight:normal;

/* 删除线 */

text-decoration:line-through

单行文本溢出显示省略号

溢出隐藏

overflow:hidden

强制文本不换行

white-space: nowrap

溢出部分文本如何显示 省略号

text-overflow: ellipsis




盒模型

块元素 如果不设定宽度 宽度会与父元素保持一致

如果不设定高度 高度靠子元素撑起

行内元素 不能设置宽高

行内块 如果不设定宽度 宽度靠子元素撑起


背景色

width: 100px; 元素宽度 width:50%;

height:100px; 高度

padding 填充

一个值:上下左右

两个值:第一个上下 第二个左右

四个值:上 右 下 左

padding:20px;

padding:10px20px;

padding-top:50px;

padding-right:100px;

padding-bottom:150px;

padding-left:200px;


设置边框

border:线宽 类型 颜色

类型:solid 实现 dashed 虚线

border:10pxdashedblack;

border-width:10px;

border-style:solid;

border-color:black;

border-top-width

border-top

border-bottom

border-left

border-right

border:none 去除边框

margin 元素间距

一个值:上下左右

两个值:第一个上下 第二个左右

四个值:上 右 下 左

margin:100px

margin-top

margin-bottom

margin-left

margin-right

border-radius:

盒模型和怪异模式

盒模型 元素真实占位 =width&height+padding+border

怪异模式 元素真实占位 =width&height


margin-top穿透问题

一个块的第一个子元素设置margin-top时会出现穿透问题(将会带动父元素一起移动)

解决方案: 给父元素添加overflow:hidden; 子元素的margin-top将不会带动父元素

背景属性

background-color背景色

背景重复 : 不重复

background-repeat-:no-repeat ;

background-image背景图


背景图定位 :左侧距离 上侧距离

/*  3中写法  */

background-position:100px50px;

background-position:rightcenter;/*右侧距离  上下居中  */

background-position:20%0;


行内块

行内块会存在间距问题

原因: 标签折行缩进被解析成一个空白字符

解决方案:给行内块父级元素设置font-size:0;

==注意:font-size:0;导致行内块元素内部文字不显示 需要单独设置字号==


行内块对齐方式:

行内块高度不一致时 默认底部对齐

内容结构不一致时 按照内容基线对齐


vertical-align:; 调整对齐方式

middle 横向中线对齐

bottom 底部对齐

top 顶部对齐


浮动

float: right 右浮动

left 左浮动


清除左右浮动

可以给浮动元素的父级元素添加一个height

overflow:hidden;清除浮动

给浮动添加一个同级块元素 设置 clear:both 清除左右

.clear::after{

content:"";

display:block;

clear:both;

}




行内块和浮动:水平布局

行内块:间距问题 对齐问题

浮动: 清除浮动 子元素可以依附在父元素两侧


浮动之后

行内标签和行内块 都会转换为块元素

元素宽度靠子元素撑起



伪元素


标签::after  {               在标签之前添加新元素

content:'内容'

}


块的转换

display : inline

inline-block

block

none 隐藏


伪类

所有标签都可添加的伪类

hover 当鼠标经过元素是应用的样式

active 当鼠标在元素上按下时应用的样式

a标签独有的伪类

link 未被访问的a标签样式

visited 访问过的a标签样式


伪类只能影响元素本身及其子代元素

写法:

.box:hover{color:red} 当鼠标经过.box 时 .box文字变为红色

.box:hover p{color:blue} 当鼠标经过.box .box内部的p标签变成蓝色

.box::after:hover{}

.box:hover::after{}


鼠标手势

cursor: pointer 鼠标箭头变小手



透明度

opacity :

opacity设置元素透明度,默认为1.(范围0-1)

opacity 元素本身变透明


rgba:

颜色透明度



定位

当一个元素需要覆盖在其他元素之上时 使用定位布局

position:

fixed 固定定位

absolute 绝对定位

relative 相对定位

sticky 粘性定位

#sticky-nav {

position:sticky;

top:100px;

}

设置position:sticky 同时给一个 (top,bottom,right,left) 之一即可


static 默认 正常排列在文档流中


固定定位 参考浏览器窗口定位 不随页面的滚动而滚动

会脱离文档流

如果不设置宽高 可以同时使用left/right 拉伸元素宽度 top/bottom拉伸元素高度

.box{

position:fixed;

left:100px;

right:100px;

top:100px;

bottom:100px;

background-color:red;

width:100px;

height:100px;

       }


相对定位 参考元素自身位置 原始位置仍然占位

绝对定位 会脱离文档流 参考离他最近的带有定位属性的父级元素

如果没有带有父级定位属性的父级元素 则参考body

sticky 粘性定位 position:sticky是css定位新增属性;可以说是static(没有定位) 和 固定定位fixed 的结合;它主要用在对 scroll 事件的监听上;简单来说,在滑动过程中,某个元素距离其父元素的距离达到 sticky 粘性定位的要求时(比如top:100px);position:sticky这时的效果相当于fixed定位,固定到适当位置 ==不会脱离文档流==

使用条件:

父元素不能overflow:hidden或者overflow:auto属性。

必须指定top、bottom、left、right4个值之一,否则只会处于相对定位

父元素的高度不能低于sticky元素的高度

sticky元素仅在其父元素内生效

两个同级定位属性,

叠层

z-index:2;    



容器溢出

滚动条

overflow: hidden; 溢出隐藏

scroll 滚动条

auto 自动


雪碧图

    性能优化  

将页面中的固定图片整合到一张大图上

通过背景图定位展示大图局部

减少网络请求次数

边框

border:1pxsolidrgba(0,0,0,0);

//透明边框

border:1pxsolidtransparent;


01.vscode软件的使用

ctrl+ +- :调整视图大小

!+table :初始化html结构

CTRL +? :添加注释

注释的作用: 给网页添加说明

h1+table :快速闭合标签

div{hello}+table :设置标签内容

div*5+table :创建5个div (5为需要创建的个数)

alt+鼠标左键 :创建多个光标,可以进行同时修改

div.box+tab 生成带类名的标签

alt+ 鼠标左键 修改多处

shift+tab 退缩进

关键帧动画及相关的属性

@keyframes :创建动画是通过逐步改变从一个CSS样式设定到另一个。

/* 添加关键帧动画    格式   @keyframes 动画名*/

@keyframesshang{

to{

margin-top:-200px;

}

       }

该属性需要与 animation属性配合使用

animation 该属性有多个内容 名称要与关键帧属性的名称相同, 时间就是动画的持续时间

animation:shang5ssteps(4)infinite;

/* 参数一 动画名  参数二动画持续时间  参数三 运动速率 参数四 动画延迟  参数五 动画播放次数 参数六 动画方向  参数七 动画结束时的状态 */

animation:namedurationtiming-functiondelayiteration-countdirectionfill-mode;

overflow: hidden 溢出隐藏,将子类超出父类元素的部分隐藏

.fu{

width:1229px;

height:580px;

background-color:blue;

/* 溢出隐藏 */

overflow:hidden;

}

.zi{

width:1200px;

height:2900px;

font-size:0px;

background-color:brown;

animation:shang10s;


鼠标在范围内动画播放状态

:hover 选择器用于选择鼠标指针浮动在上面的元素。

hover只能影响元素本身及其子元素

.zhong:hover{

animation-play-state:paused;

}

.zhong:hover.small{/*当鼠标经过.box时.box 的子元素.small改变 */

animation-play-state:paused;

}


鼠标再特定位置上动画的播放状态

animation-play-state:paused;

psused:停止

running:播放

元素过渡效果

transition:all2s

当元素css属性发生变化时会有2s的过度时间

元素转换

transform 不管怎么变都不会影响元素本身占位

transform:scale(2)//元素沿中心放大或缩小几倍

transform:rotate(45deg)//元素旋转多少度,数字为正顺时针旋转,为负逆时针。deg时角度单位

transform:scale(2)rotate(45deg);可同时使用

translat()

元素透明

opacity:0.5;


opacity设置元素透明度,默认为1.(范围0-1)



其他

文本

行高和容器高度一致时,文本内容可以上下居中

height:50px;

line-height:50px;

text-aglin:center文本居中


设置字体 font-family:微软雅黑;


引入字体 @font-face

@font-face {

font-family:粗体 ;

src:url("STHUPO.TTF");

              }



定位

position : relative 相对定位 成为子元素绝对定位的参照物

position: absolute 绝对定位 脱离文档流 悬浮在其他元素之上

绝对定位元素参考的是离他最近的带有==定位==属性的父级元素



元素投影

box-shadow盒阴影 text-shadow 文字阴影 有4个值

x轴偏移量

y轴偏移量

模糊程度

投影颜色

inset 内投影 <!--(只有和阴影可用)-->

box-shadow:010px10pxrgb(100,99,99);

text-shadow:3px4px1pxred ;



HTML正式开始

01初识web应用

CS BS

client客户端 server服务端 browser浏览器

client-server app 桌面端应用

bowser-server 网页应用

BS相当于CS的优点

BS依赖于浏览器 无需安装

BS跨平台

混合app开发 app外壳内置浏览器

界面开发

html负责网页搭建结构

css负责元素的美化

javascript 负责网页交互(网页特效)


框架: Vue React Angular

开发流程

产品经理规划功能(客户) 出草图(原型图);

交给ui出效果图;-----需求文档交给后端;

交给前端写页面布局及网络特效

将静态页面转化为动态页面;

静态到动态:

1. 传统模式:将静态页面交给后端 后端使用模板引擎技术 将数据与结构混合;

    2. 前后端分离:前端请求数据接口,通过js将数据与结构混合;

测试

发布上线

实体字符

标签

语义化标签(标签的意思和使用场景)

对语义化标签的理解:

什么标签放什么内容,h标签放标题,p标签放段落文字,

就算css加载失败 也能清晰展示页面结构

方便搜索引擎抓取网页内容,有利于seo;


div和span没有任何语义

块标签

(占据一行,上下排列)

块元素 如果不设定宽度 宽度会与父元素保持一致

如果不设定高度 高度靠子元素撑起

div 容器标签

p 文本标签

h1-h6 标题标签


ul li 无序列表

展示列表信息

ul 包含整个列表

li 单个选项

list-style:none;   清除样式


ol li 有序列表


table 表格

table 的开始标签中 添加border属性定义边框 cellpadding 扩展单元格 cellspacing单元格间距

tr 行

td 单元格

rowspan 竖跨几行 独占几行

    colspan  横跨几列   独占几列

th 标题单元格


定义表格

table的开始标签中添加borter属性定义表格

cellpadding 扩展单元格

-->

受理员

受理数

自办数

直接解答

到办意见

返回修改

工单类型

同意

比例

数量

比例

建议件

述求件

咨询件


form 表单区域

action 指定表单提交地址

提交路径 ? 之前是提交地址 ?之后是 本次携带的信息

提交按钮 可以提交当前form包裹的所有表单元素信息


行内标签:

(对于局部文字进行修饰,无法设置元素宽高)

行内块元素 无法设定宽高

span 行内的div

em 倾斜

strong 加粗

a 链接标签

href 指定链接地址

返回上一级 ../


加入我们

target 默认值 self 在当前标签内打开新页面

blank 新建标签页打开新页面


让a标签点击不跳转   在href中只填加  #  号

按钮

==锚点==:

点击a标签时页面会滚动到相应ID名的元素的位置


点击a标签时 页面会滚动到相应ID名的元素位置

-->

下载软件

江苏网通

河南电信

山东移动




行内块

如果不设定宽度 宽度靠子元素撑起


img 引入图片

img标签 默认按照图片原始尺寸显示

src指定资源路径 可以引入网络路径也可引入本地路径

title 添加图片说明

alt 当图片资源加载失败时的替代文本


在这里我就要说一下,在什么情况下才使用这个标签,除了一些装饰的图片、或没有实际用途的,我们一般用CSS的背景图来设置。在一些实用的数据,如:新闻的图片,介绍某种东西的图片,这种情况下,我们建议使用img来实现,相册大家都知道使用img标签吧,如果使用背景,就没办法保存图片,这也就是实用数据的表现!

img标签有2个重要的属性,建议都填写

img的主要属性作用备注

src图片的地址(一般是网络路径/绝对路径)一定要有,不然图片就显示了一个红色的叉

alt用于描述图片的文字叙述建议写,在某些情况下,如果图片无法显示,都还可以用写文字提示给用户看


input 输入框

类型解释

type设定输入框的格式

value指定输入框默认填写内容

placeholder设置占位内容 用于提示输入框功能


Type描述基础例子Spec

button没有默认行为的按钮,上面显示 value 属性的值,默认为空。  

checkbox复选框,可设为选中或未选中。  

color用于指定颜色的控件;在支持的浏览器中,激活时会打开取色器。 HTML5

date输入日期的控件(年、月、日,不包括时间)。在支持的浏览器激活时打开日期选择器或年月日的数字滚轮。 HTML5

datetime-local输入日期和时间的控件,不包括时区。在支持的浏览器激活时打开日期选择器或年月日的数字滚轮。 HTML5

email编辑邮箱地址的区域。类似 text 输入,但在支持的浏览器和带有动态键盘的设备上会有确认参数和相应的键盘。  

file让用户选择文件的控件。使用accept属性规定控件能选择的文件类型。  

hidden不显示的控件,其值仍会提交到服务器。举个例子,右边就是一个隐形的控件。  

image带图像的 submit 按钮。显示的图像由 src 属性规定。如果 src 缺失,alt 属性就会显示。  

month输入年和月的控件,没有时区。 HTML5

number用于输入数字的控件。如果支持的话,会显示滚动按钮并提供缺省验证(即只能输入数字)。拥有动态键盘的设备上会显示数字键盘。  

password单行的文本区域,其值会被遮盖。如果站点不安全,会警告用户。  

radio单选按钮,允许在多个拥有相同 name 值的选项中选中其中一个。  

range此控件用于输入不需要精确的数字。控件是一个范围组件,默认值为正中间的值。同时使用htmlattrdefmin 和 htmlattrdefmax来规定值的范围。 HTML5

reset此按钮将表单的所有内容重置为默认值。不推荐。  

search用于搜索字符串的单行文字区域。输入文本中的换行会被自动去除。在支持的浏览器中可能有一个删除按钮,用于清除整个区域。拥有动态键盘的设备上的回车图标会变成搜索图标。 HTML5

submit用于提交表单的按钮。  

tel用于输入电话号码的控件。拥有动态键盘的设备上会显示电话数字键盘。 HTML5

text默认值。单行的文本区域,输入中的换行会被自动去除。  

time用于输入时间的控件,不包括时区。 HTML5

url用于输入 URL 的控件。类似 text 输入,但有验证参数,在支持动态键盘的设备上有相应的键盘。 HTML5

week用于输入以年和周数组成的日期,不带时区。  

废弃的值   

datetime用于输入基于UTC时区的日期和时间(时、分、秒及秒的小数部分)。  

type="text" 文本输入框

type="password" 密码输入框

type="date" 选择日期

type="radio" 单选按钮 一组单选按钮需要添加共同的name值 添加checked属性指定默认选择项


type="checkbox" 多选框 需要添加共同的name值 name值需要在最后加[]号 添加checked属性指定默认选择项


type="color" 颜色选择(不常用)

type=“button” 按钮

type=“submit” 提交按钮

typle="file" 选择文件

value 指定输入框默认填写内容

placeholder 提示框 设置占位内容 用于提示输入框功能


label 扩大鼠标的点击区域

rap



select 选择框

option标签内容是让用户看的,value值是让程序使用的;

当程序获取选择结果时, 优先获取所选option的value值

option 包裹单个选项

option 添加 selected属性指定默认选择项



格式化标签

center 内容居中

br 折行

<pre> </pre> 保留代码缩进


实体字符

src 和href的区别

src引入外部资源

href关联外部资源

css

引入方式

行内式 缺点:

html和css混杂在一起 结构不够直观

多个元素相同样式 还需重复书写

helloworld


内嵌式 在head中创建style标签书写样式

书写结构 选择器{

样式属性:样式值

}

外链式 通过link引入外部css资源


css常用命名

包裹容器 wrap 页面主体 main 网页头部 header 网页底部 footer 轮播图 banner 广告 ad 导航 nav 菜单 menu 子菜单 sub-menu 列表 list 选项 item 下载 download 标志 logo 提示 tips 热点 hot 新闻 news 地址 address 登录 login 注册 registry 用户名 userName 密码 password 内容 content 文本 text 价格 price 上一个 prev 下一个 next 箭头 arrow 更多 more 标题 title 子标题 sub-title 商品 product 添加 add 修改 update 删除 delete 消息 message 笔记 note 搜索 search 结果 result 加入 join 主页 home 手机号 tel 状态 status 时间 time 日期 date 图片 picture 图标 icon 数据 data 左 left 右 right 上 up 下 down 中 center 当前 current 激活 active 显示 show 隐藏 hide 打开 open 关闭 close 禁用 disabled 扩展 extend

css三大特性

层叠性

继承性: 有些不能继承定位 过度 浮动 颜色 字体 居中

优先级

css选择器

*通配符 选择页面中所有标签 一般用于重置浏览器默认样式

*{

color:red;

       }

同级选择器 优先级采用就近原则

标签选择器 指定标签名

p{

color:green;

       }


类名选择器 .类名

.text{

color:purple;

       }


id选择器 #id

#txt{

color:orange;

       }



类名

首字符必须是字母或 _ 剩余字符可以是字母、数字、_ 、-

公共样式 起一个共同的类名

某一个元素有差异 单独增加类名定义样式

id选择器

唯一性

级联选择器

增加权重

使用: .+类名+空格+.+类名+空格+...+标签名


子代选择器

只能选择作为某元素子元素的元素

选择器 h1 > strong 可以解释为“选择作为 h1 元素子元素的所有 strong 元素

例:

.wrap>p{

} //.wrap字标签中的子标签p  

并列选择器

同时选择几个标签 中间用逗号隔开

div,p{

}

属性选择器

属性名,属性名=属性值(正则)

= 绝对等于

*= 包含这个元素

^= 以这个开头

$= 以这个结尾

存在id属性的元素

a[id]{

}


优先级

!important强制优先级>行内>id>class>标签>*

当使用嵌套选择器 按照权重值计算优先级

*0

标签名 1

类名 10

id 100


文本样式

color: 文字颜色

font-size: 字号

text-indent:2em;首行缩进 1em=一个文字的大小 2em表示缩进2个文字

font-weight: 字体粗细

bolder; 加粗

normal 取消加粗

line-height: 行高

letter-spacing: 字间距 主要用于调整汉字

world-spacing: 字间距 用于调整 单词

/* 文字颜色 */

color:red;

/* 文字大小 */

font-size:20px;

/* 首行缩进  2字符 */

text-indent:2em;

/* 加粗 */

font-weight:bolder;

/* 行高 */

line-height:30px;

/* 字间距 */

letter-spacing:10px;

/* 字体 */

font-family:楷体;


font-family:宋体; 字体

如果用到特殊字体 导入字体文件

@font-face {

font-family:粗体 ;

src:url("STHUPO.TTF");

              }


文本修饰

text-decoration:

line-through;删除线

underline 下划线

overline 上划线

none 重置

text-aligin:center 文本对齐

center 居中

left 居左 默认值

right 居右

/* 文本居右 */

text-align:right;

/* 下划线 */

text-decoration:underline;

/* 取消加粗 */

font-weight:normal;

/* 删除线 */

text-decoration:line-through

单行文本溢出显示省略号

溢出隐藏

overflow:hidden

强制文本不换行

white-space: nowrap

溢出部分文本如何显示 省略号

text-overflow: ellipsis




盒模型

块元素 如果不设定宽度 宽度会与父元素保持一致

如果不设定高度 高度靠子元素撑起

行内元素 不能设置宽高

行内块 如果不设定宽度 宽度靠子元素撑起


背景色

width: 100px; 元素宽度 width:50%;

height:100px; 高度

padding 填充

一个值:上下左右

两个值:第一个上下 第二个左右

四个值:上 右 下 左

padding:20px;

padding:10px20px;

padding-top:50px;

padding-right:100px;

padding-bottom:150px;

padding-left:200px;


设置边框

border:线宽 类型 颜色

类型:solid 实现 dashed 虚线

border:10pxdashedblack;

border-width:10px;

border-style:solid;

border-color:black;

border-top-width

border-top

border-bottom

border-left

border-right

border:none 去除边框

margin 元素间距

一个值:上下左右

两个值:第一个上下 第二个左右

四个值:上 右 下 左

margin:100px

margin-top

margin-bottom

margin-left

margin-right

border-radius:

盒模型和怪异模式

盒模型 元素真实占位 =width&height+padding+border

怪异模式 元素真实占位 =width&height


margin-top穿透问题

一个块的第一个子元素设置margin-top时会出现穿透问题(将会带动父元素一起移动)

解决方案: 给父元素添加overflow:hidden; 子元素的margin-top将不会带动父元素

背景属性

background-color背景色

背景重复 : 不重复

background-repeat-:no-repeat ;

background-image背景图


背景图定位 :左侧距离 上侧距离

/*  3中写法  */

background-position:100px50px;

background-position:rightcenter;/*右侧距离  上下居中  */

background-position:20%0;


行内块

行内块会存在间距问题

原因: 标签折行缩进被解析成一个空白字符

解决方案:给行内块父级元素设置font-size:0;

==注意:font-size:0;导致行内块元素内部文字不显示 需要单独设置字号==


行内块对齐方式:

行内块高度不一致时 默认底部对齐

内容结构不一致时 按照内容基线对齐


vertical-align:; 调整对齐方式

middle 横向中线对齐

bottom 底部对齐

top 顶部对齐


浮动

float: right 右浮动

left 左浮动


清除左右浮动

可以给浮动元素的父级元素添加一个height

overflow:hidden;清除浮动

给浮动添加一个同级块元素 设置 clear:both 清除左右

.clear::after{

content:"";

display:block;

clear:both;

}




行内块和浮动:水平布局

行内块:间距问题 对齐问题

浮动: 清除浮动 子元素可以依附在父元素两侧


浮动之后

行内标签和行内块 都会转换为块元素

元素宽度靠子元素撑起



伪元素


标签::after  {               在标签之前添加新元素

content:'内容'

}


块的转换

display : inline

inline-block

block

none 隐藏


伪类

所有标签都可添加的伪类

hover 当鼠标经过元素是应用的样式

active 当鼠标在元素上按下时应用的样式

a标签独有的伪类

link 未被访问的a标签样式

visited 访问过的a标签样式


伪类只能影响元素本身及其子代元素

写法:

.box:hover{color:red} 当鼠标经过.box 时 .box文字变为红色

.box:hover p{color:blue} 当鼠标经过.box .box内部的p标签变成蓝色

.box::after:hover{}

.box:hover::after{}


鼠标手势

cursor: pointer 鼠标箭头变小手



透明度

opacity :

opacity设置元素透明度,默认为1.(范围0-1)

opacity 元素本身变透明


rgba:

颜色透明度



定位

当一个元素需要覆盖在其他元素之上时 使用定位布局

position:

fixed 固定定位

absolute 绝对定位

relative 相对定位

sticky 粘性定位

#sticky-nav {

position:sticky;

top:100px;

}

设置position:sticky 同时给一个 (top,bottom,right,left) 之一即可


static 默认 正常排列在文档流中


固定定位 参考浏览器窗口定位 不随页面的滚动而滚动

会脱离文档流

如果不设置宽高 可以同时使用left/right 拉伸元素宽度 top/bottom拉伸元素高度

.box{

position:fixed;

left:100px;

right:100px;

top:100px;

bottom:100px;

background-color:red;

width:100px;

height:100px;

       }


相对定位 参考元素自身位置 原始位置仍然占位

绝对定位 会脱离文档流 参考离他最近的带有定位属性的父级元素

如果没有带有父级定位属性的父级元素 则参考body

sticky 粘性定位 position:sticky是css定位新增属性;可以说是static(没有定位) 和 固定定位fixed 的结合;它主要用在对 scroll 事件的监听上;简单来说,在滑动过程中,某个元素距离其父元素的距离达到 sticky 粘性定位的要求时(比如top:100px);position:sticky这时的效果相当于fixed定位,固定到适当位置 ==不会脱离文档流==

使用条件:

父元素不能overflow:hidden或者overflow:auto属性。

必须指定top、bottom、left、right4个值之一,否则只会处于相对定位

父元素的高度不能低于sticky元素的高度

sticky元素仅在其父元素内生效

两个同级定位属性,

叠层

z-index:2;    



容器溢出

滚动条

overflow: hidden; 溢出隐藏

scroll 滚动条

auto 自动


雪碧图

    性能优化  

将页面中的固定图片整合到一张大图上

通过背景图定位展示大图局部

减少网络请求次数

边框

border:1pxsolidrgba(0,0,0,0);

//透明边框

border:1pxsolidtransparent;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容