html 知识点整理

                          关于html静态页面书写的知识点整理

1.web标准:结构,表现,行为 结构(xhtml,xml)表现(css)行为(DOM ECMASCRIPT)

2.W3C:万维网联盟 行为标准:DOM(ECMA制定的欧洲电脑厂商联合会)

3.html:Hyper Text Markup Language (超文本标记语言)

xhtml:Extensible HyperText Markeup Language(可扩展超文本标记语言)

4.声明文档类型     

5.HTML基本语法:常规标记:<标记 属性="属性值">

空标记:<标记 属性="属性值"/>

6. 加粗:区别:这个标签对应 bold,即文本加粗,其目的仅仅是为了加粗显示文本,是一种样式/风格需求;

这个标签意思是加强,表示该文本比较重要,提醒读者/终端注意。为了达到这个目的,浏览器等终端将其加粗显示;

总结:为了加粗而加粗,为了标明重点而加粗。

7.倾斜标签告诉浏览器将包含其中的文本以斜体字(italic)或者倾斜(oblique)字体显示;

标签中的文本表示为强调的内容,对于所有浏览器的显示效果来说,是把这段文字用斜体来显示;

8.get与post的区别:get(幂等)是从服务器上获取数据,post(非幂等)是向服务器传送数据。

get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

建议:

get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;

在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

9.link 和@import的区别:

link可以加载css外,@import是css提供的一种方式,也只能加载css;

link引用的css会和页面同时加载,@import会等页面全部下载完成后再被加载

@import存在兼容问题,低版本浏览器不识别。

link可以控制dom元素,@import不是dom可以控制的。

10.  伪类和伪元素:伪类(单引号)代表某一刻的状态::after等

伪元素(双引号)是指元素中特别的内容:(::last-child)等

a标签中顺序::link(默认)  :visited(鼠标访问后)  :hover (鼠标滑过) :active (访问时)

11.css层叠:元素的样式根据它样式所占权重的大小进行渲染(元素是1,类是10,id是100,伪类是1,伪元素是10)

包含块:包含块(Containing Block)是绝对定位的基础,包含块为绝对定位元素提供坐标,偏移量和显示范围的参照物,定义元素为包含块,给绝对定位元素的父元素添加position:relative,即父元素就是一个包含块

12.font:加粗(bolder  normal  100~500) 倾斜(italic oblique normal)字体/行高  "宋体"

13.word-spcing:词间距(单词与单词之间的间隔)

letter-spacing:控制英文字母和汉字的字距

border:double dotted dashed

background-attachment:fixed:背景图固定,相对浏览器

14.层级选择器:子级选择器,兄弟选择器,通用兄弟选择器

15.给子元素设置外边距时:会默认加到父元素上

给父元素或者子元素任意一个加float

给父元素加padding或border

16.内联元素:盒模型左右支持,上下不支持,水平从左到右排列,宽高为内      容大小(span strong em i br a img(行内块) input(行内块))

块状元素: (div p li ul ol  tr h1等 )border 重叠显示

可变元素:

applet - java applet

◎ button - 按钮

◎ del - 删除文本

◎ iframe - inline frame

◎ ins - 插入的文本

◎ map - 图片区块(map)

◎ object - object对象

◎ script - 客户端脚本

17.设置float属性后,相当于给该属性加display:inline-block

18.visiblity:hidden/visible 隐藏可见,但是还是占空间

display:none 使对象完全消失,不占空间

overflow:hidden auto visible(默认) inherit scroll

19.定位:相对定位:relative(相对于自己的定位),占位

绝对定位:absolute(相对于body的定位),不占位,如果有定位的父元素,则根据父元素进行定位

固定定位:fixed(相对浏览器的窗口定位)

默认值:static

20.让一个元素始终在窗口水平 垂直位置居中:

div{width:200px;height:200px;position:fixed/absolute;left:0;top:0;right:0;bottom:0;margin:auto}

div{width:200px;height:200px;position:fixed/abolute;left:50%;top:50%;margin:-100px 0 0 -100px(自身宽高一半)};

21.ie透明度:filter:alper(opacity:50)

22.删除线:       

22.white-spacing:normal(默认值,空白会被浏览器忽略)/nowrap(文本不会换行,忽略回车换行以及空格)/pre(空格回车换行会被浏览器保留,其行为方式类似html中的pre标签)/pre-wrap(保留空白符和回车换行序列,正常进行换行)/pre-line(合并空白符系列,但是保留换行符,正常进行换行)/inherit

此属性用来设置如何处理元素内的空白

23.文字溢出省略号显示:    width:value;

white-spacing:nowrap;

overflow:hidden;

text-overflow:ellipsis

24.png:支持透明,高清,色彩丰富,字节大

psd:photoshop源文件格式,只能通过ps打开

gif:支持动态图片,图片质量差,字节小,不清晰,支持透明

jpg:不支持动图,不支持透明,字节小,图片清晰

25.alt+delete:填充前景色

ctrl+delete:填充背景色

26.css精灵图(sprites)利用ps将图片进行整合,然后利用background-images,background-position进行精确定位

优点:减少http请求数量,减少服务器压力,减少图片字节,提高网页加载速度

缺点:后期不好维护,做图片比较繁琐

27.ie6最小高度的写法:

hack1  min-height:value;_height:value

hack2    min-height:value;height:auto !import;height:value

28.高度塌陷解决办法:

原因:父元素没有高度,子元素浮动,父元素高度塌陷

解决办法:在浮动元素与受影响元素之间加一个空元素,给空元素清除浮动

直接给受影响的元素加浮动。

28.万能清除法::      after{content:"";display:block;width:0;height:0;overflow:hidden;clear:both;}

29.去除textarea 下面的横杠:resize:none

30:浏览器内核:Trident:三叉戟  ie 360 世界之窗 腾讯

Gecko:壁虎  Mozilla Firefox(开源)

Presto:Opera Presto 渲染速度最快

Webkit safari :chrome

Blink:chrome

31.css hack三种形式

css属性前缀法 选择器前缀法 ie条件注释法

条件注释法:这段文字只在IE显示

属性前缀法:*(6/ 7)+(6/7)-(6)_(6)#(6/7)color

color:red\9: ie6~ie10

color:red\0:ie8~ie10

color:red\9\0:ie9~ie10

选择器前缀法:*html:只对ie6生效

*+html:只对ie7生效。

32.表单高级:

标题

33.表格前后对比:

css:width:200px;height:200px;border:1px solid red;border-spacing:10px;background:red;vertical-align:top;text-align:center;

html:width="200"  height="200"  border="1" bordercolor="red" cellspacing="10" cellpadding="10" bgcolor="red" valign="top" align="center"

新增:border-collapse:collapse(合并边框)/separate(边框分开)加table里

empty-cells:hide(拼成不规则效果,删掉表格内容)show(显示)

table-layout:fixed(固定宽度)auto

34.BFC(块级格式化上下文)

a.上下相邻的两个盒子margin值叠加

为什么加float和display可以解决margin值重叠

为什么发生margin值重叠

b.一个元素的左边一定挨着包含块

c.BFC里面的子元素一定要参与高度计算,浮动也如此

为什么overflow可以解决高度塌陷问题。

35.产生BFC环境:

根元素(body)

float部位none

position为absolute fixed

display为inline-block table-cell  table-caption flex  inline-flex

overflow不为visible

36.html5新增标签:section article  aside  header  nav  footer main figure figurecaption  mark canvas audio video

37.表单新增type属性

number  range date month week search color email

38.

通过id和list绑定

通过id和form 绑定

novalidate加在form上,取消必填 autofocus高亮提示,可直接输入

39.

40.怪异盒模型:ie6里面width包含margin与padding的值,因为没有声明正确文档类型。boxsizing:border-box触发怪异盒模型。

41.

你好

你好

42.cursor:auto(默认) crosshair(加号)  text(文本) wait(等待) help (帮助)progress(过程) inherit(继承) move(移动) no-resize(向上或向右移动) pointer(手型)

43.iframe链接:,设备信息

44.ui状态的伪类选择器

:checked

:disabled

:enabled

:read-only

:read-write

:default

45:text-shadow:水平位移  垂直位移 模糊 描边(2px 2px 1px blue,2px 3px 1px red 可叠加)

box-shadow:0  0  5px red inset(默认outset,)可叠加

border-radius:10px 10px 10px 10px (左上 右上 右下 左下)

word-break:normal(默认) break-all(从单词里换行,非中日韩换行模式) keep-all(空格或连接符换行)

46.背景新增属性:

background-origin:padding-box(默认) content-box border-box

background-clip:content-box padding-box(默认)

background-size:cover(覆盖,盒子完整,图片可能会少) contain(图片完整,盒子并未铺完

background:rgba(0,0,0,.5)

background:hsl/hsla(120,100%,60%)色调(0~360) 饱和度(百分比) 亮度(百分比)

47.优雅降级:先构建站点的完整功能,针对浏览器进行测试与修复,然后逐步针对各大浏览器进行hack,使其可以在低版本浏览器上正常浏览

渐进增强:先针对低版本浏览器进行构建页面,完成基本的功能,然后针对高级浏览器进行效果,交互,达到更好的体验

48.弹性盒子 display:flex

flex-direction:row-reverse(横着反向) column(竖着) column-reverse(竖着反向)定义主轴

justify-content:center(居中) flex-end(主轴从末尾排) flex-start(主轴从头排) space-around(左右边距一样) space-between(两边对齐 其余均分)

align-items:center(垂直居中) flex-end(居下) flex-start(顶端)

flex-wrap:wrap(换行)  nowrap(不换行) wrap-reverse

align-content:flex-end(末端对齐)  flex-start(从主轴开始居上) center(居中) space-between(平分)

flex:1(占比,子元素空间分配,可以写宽高,也可以不写

flex-grow:

align-self:flex-end(只对某一个元素操作,侧轴对齐方式)  flex-start

display:-webkit-box ,box不认识,使旧版认识,兼容性有差别,内核

order:1(排列最后)

49.css多列:

column-count:属性规定元素应该被分隔的列数

column-gap:属性规定列之间的间隔大小

column-rule:属性设置列之间的宽度,样式和颜色规则

column-rule-color  column-rule-style  column-rule-width

column-fill:balance(默认值,对列进行协调,浏览器应对列长度的差异进行最小化处理)auto(自动排列,规定如何对列进行填充)

column-span:all(默认1),无其他数值,横跨列数

50.响应式布局:@media screen and (max-width:1400px) and (min-width:100px)

条件:orientation:landscape横屏  portrait:竖屏

link写法:

51.移动端布局:网格布局 悬挂式布局 百分比布局 流式布局 圣杯布局 输入框布局

em:一个字的大小,相对单位,相对于当前元素的文字大小

%:百分比 ,相对单位 相对于父元素的大小

vw:viewpoint width  相对于body  视窗宽度 视窗宽度的10% 10vw

vh:viewpoint height body高度的1%,1vh,相对单位,相对于body

rem:font-size:0.1rem;1rem等于html的font-

size大小(html的font-size px单位乘以元素的font-size rem单位大小  等于实际px)

52.屏幕分辨率:横纵方向上的像素点数,单位为px 1px 为 1个像素点

屏幕像素密度:ppi=px 屏幕上每英寸可以显示的像素数量 pixels per inch,与屏幕尺寸 屏幕分辨率有关

像素:逻辑像素和物理像素(设备像素)

物理像素:1DPR/100=1vw(px单位) iphone 6 为26.66

vw与rem合作确定等比缩放布局

font-size:100px (31.25vw)

53.背景颜色渐变:

线性渐变:background:linear-gradient(red,blue)

-wibkit-linear-gradient(left,red,blue,yellow)

background:linear-gradient(to right,red,blue)

background:linear-gradient(45deg,red,blue)

径向渐变:radial-gradient:(red,blue)

repeating-gradient:(red,blue 20%)

repeating-linear-gradient(red,yellow 10%,red 20%)

repeating-radial-gradient(red,yellow 20%)

简写:background:-webkit-gradient(linear,0,0,0,100%,from (red),to (blue));

线性,从(0,0)开始,垂直渐变

background:-webkit-gradient(linear,0,0,0,100%,color-step(0,red),color-step(0.2,blue));

54.css3过渡:transition-property:width  height  all (规定过渡属性)

transition-duration:1s 10ms(过渡时间)

transition-timing-function:linear(匀速,速度曲线)

transition-delay:1s(等待时间)

transition:all 2s linear 2s

55.transform

transform:translateX translateY translate

transform:rotate(180deg)

transform:scale(倍数) scaleX scaleY

transform:skewX(90deg)

56.字体渐变:

font-size:60px;background-image:repeating-linear-gradient(red 10%,blue 20%);color:transparent(透明);-webkit-background-clip:text(背景只能文字显示)

57.box-sizing:border-box(边框与padding等计算在里面,padding会撑开盒子)

58.3D旋转:transform;rotateX(360deg);transform:rotateY(360deg)顺时针默认

3D景深:perspective:200px;(向前伸展,观察角度)

perspective-origin:top left(观察距离)

transform-origin:bottom top(旋转基点)

transform-style:preserve-3d(父元素上允许子元素保留3D属性)flat(子元素不保留3D属性)

59.css动画:animation

@keyframes name(更改){

from {width:200px}

to{width:400px}

}

@keyframes name{

0%{width:10px ;background:red}}

然后css中引入动画名称:animation-name:

animation-duration:2s

animation-timing-function:linear;

animation-iteration-count:2;

animation-direction:alternate

animation-play-state:paused(动画播放时状态与hover连用)

animation-fill-mode:forwards(动画结束时保留最后一帧效果)

backwards(动画播放之前展示第一帧效果)

翻转时背景图片消失:backface-visibility:hidden(从而显示另外一张压在上面的图片)

60.

61.iframe标签通过scrolling:no去掉滚动条

62.ie6中,如果将某一个div的高度设置为3像素。=,需要添加font-size:0

63.清除浮动的方法:在浮动元素下添加div

优点:代码少,浏览器支持好

缺点:如果页面浮动布局多,就要多增加div

给父元素添加overflow:hidden

优点:简单,代码少

缺点:不能和position配合使用

万能清除法::after{content="" overflow:hidden;height:0;clear:both'visibility:hidden;display:block}

64.vertical-align用法:必须给父元素加text-align:center;

当前元素:display:inline-block;vertical-align:middle

当前元素后:

span{vertical0-align:middle;width:0;height:100%;display:inline-block}

65.内联元素与块状元素的区别:

块状元素在网页中就是以块的形式显示块状即显示为矩形区域

默认情况下,块状元素将会占据一行,两个相邻的块状元素不会出现并列显示的现象,默认情况下,块状元素会自上向下排列

块状元素可以设置自己的宽度和高度

块状元素一般都作为其他元素的容器,它可以容纳其他内联元素和其他块状元素。

66.标准盒模型和怪异盒模型:

标准:content+border+padding 实现:box-sizing:content-box

怪异:content  实现:box-sizing:border-box

67.响应式布局:

设计特点:面对不同分辨率设备灵活性强

能够快速解决多显示设备问题

你可能感兴趣的:(html 知识点整理)