【面试题】HTML篇(一)

HTML篇

1、 图片格式

JPEG、GIF、PNG

2、 盒子模型请添加图片描述

宽度=内容宽度+padding(左右)+margin(左右)
高度=内容高度+padding(左右)+margin(左右)

3、视频/音频标签使用

src 需要播放的视频地址
width/eight 设置播放视频的宽高,和 img 标签的宽高属性一样
autoplay 是否自动播放
controls 是否显示控制条
poster 没有播放之前显示的展位图片
lop 是否循环播放
perload 预加载视频(缓存)与 autoplay 相冲突,设置了 autoplay 属
性,perload 属性会失效。
muted 静音模式

4.HTML5 新增的内容有哪些

  • 新增语义化标签:
    语义化标签优点:1.提升可访问性 2.seo 3.结构清晰,利于维护
Header 页面头部 main 页面主要内容 foter 页面底部
Nav 导航栏 aside 侧边栏 article 加载页面一块独立内容
Section 相 当 于 div figure 加 载 独 立 内 容 ( 上 图 下 字 )
figcaption figure 的标题
Hgroup 标题组合标签 mark 高亮显示 dialog 加载对话框标签(必须
配合 open 属性)
Embed 加载插件的标签 video 加载视频 audio 加载音频(支持格式
og,mp3,wav)
  • 新增表单类型
  • 表单元素
  • 表单属性
  • 表单事件
  • 多媒体标签

5、Cs3 新增的特性

  1. 边框:
    border-adius 添加圆角边框
    border-shadow:给框添加阴影 (水平位移,垂直位移,模糊半径,阴
    影尺寸,阴影颜色,insert(内/外部阴影)
    border-image:设置边框图像
    border-image-source 边框图片的路径
    border-image-slice 图片边框向内偏移
    border-image-width 图片边框的宽度
    border-image-outset 边框图像区域超出边框的量
    border-image-rpeat 图像边框是否平铺(repat 平铺 round 铺满
    strech 拉伸)

  2. 背景:
    Background-size 背景图片尺寸
    Background-orign规定background-positon属性相对于什么位置定

    Background-clip 规定背景的绘制区域(pading-box,border-box,
    content-box)

  3. 渐变:
    Linear-gadient()线性渐变
    Radial-gradient()径向渐变

  4. 文本效果:
    Word-break:定义如何换行
    Word-wrap:允许长的内容可以自动换行
    Text-overflow:指定当文本溢出包含它的元素,应该干啥
    Text-shadow:文字阴影(水平位移,垂直位移,模糊半径,阴影颜色)

  5. 转换:
    Transform 应用于 2D3 转换,可以将元素旋转,缩放,移动,倾斜
    Transform-orign 可以更改元素转换的位置,(改变 xyz 轴)
    Transform-style 指定嵌套元素怎么样在三位空间中呈现
    2D 转换方法:
    rotae 旋转 translate(x,y)指定元素在二维空间的位移 scale(n)
    定义缩放转换
    3D 转换方法:
    Perspective(n)为 3D 转换 translate rotae scale

  6. 过渡:
    Transiton-proprety 过渡属性名
    Transiton-duration 完成过渡效果需要花费的时间
    Transiton-timng-function 指定切换效果的速度
    Transiton-delay 指定什么时候开始切换效果

  7. 动画:animation
    Animation-ame 为@keyframes 动画名称
    animation-duration 动画需要花费的时间
    animation-timng-function 动画如何完成一个周期
    animation-delay 动画启动前的延迟间隔
    animation-iteration-count 动画播放次数
    animation-direction 是否轮流反向播放动画

6、清除浮动的方式

清除浮动:
在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动

即高度塌陷:当所有的子元素浮动的时候,且父元素没有设置高度,这时
候父元素就会产生高度塌陷

清除浮动方式

  1. 给父元素单独定义高度
    优点:快速简单,代码少 缺点:无法进行响应式布局
  2. 父级定义 overflow:hiden;zom:1(针对 ie6 的
    兼容)
    优点:简单快速、代码少,兼容性较高 缺点:超出部分被隐藏,布局时
    要注意
    清除浮动方式
  3. 在浮动元素后面加一个空标签,clear:both;height:
    0;overflow:hiden
    优点:简单快速、代码少,兼容性较高。
    缺点:增加空标签,不利于页面优化
    清除浮动方式
  4. 父级定义 overflow:auto
  5. 万能清除法:
    给塌陷的元素添加伪对象
    .father:after{
    Content:“随便写”;
    Clear:both;
    display:block;
    Height:0;
    Overflow:hiden;
    Visbilty:hiden
    }
    优点:写法固定,兼容性高 缺点:代码多

7、定位的属性值有何区别

Positon 有四个属性值:relative absolute fixed staic

  • Relative 相对定位 不脱离文档流,相对于自身定位
  • Absolute 绝对定位,脱离文档流
    相对于父级定位(元素将依据最近的已经定位(绝对、固定或相对定位)的父元素(祖先)进行定位)
  • Fixed
    固定位,脱离文档流,相对于浏览器窗口定位
  • Staic 默认值,元素出现在正常的流中

8.子元素如何在父元素中居中

水平居中:

  1. 子父元素宽度固定,子元素设置 margin:auto,并且子元素不能设置
    浮动,否则居中失效
  2. 子父元素宽度固定,父元素设置 text-align:center,子元素设置
    display:inle-block,并且子元素不能设置浮动,否则居中失效

水平垂直居中:

  1. 子元素相对于父元素绝对定位,子元素 top,left 设置 50%,子元素
    margin-top 和 margin-left 减去各自宽高的一半
  2. 子元素相对于父元素绝对定位,子元素上下左右全为 0,然后设置子元素
    margin:auto
  3. 父元素设置 display:table-cell vertical-align:middle,子元素设置
    margin:auto
  4. 子元素相对定位,子元素 top,left 值为 50%,transform:translate
    (-50%,-50%)(向上和左,移动自身长宽的 50%,先x后y的)
  5. 父元素设置弹性盒子,
    display:flex; justfy-content:center ;align-item:center;

9、.Borde-box 与 content-box 的区别

Content-box 标准盒模型 width 不包括 pading 和 border
Border-box 怪异盒模型 width 包括 pading 和 border

10、元素垂直居中

  1. 设置子元素和父元素的行高一样
  2. 子元素设置为行内块,再加 vertical-align:middle
  3. 已知父元素高度,子元素相对定位,通过 transform:translateY(-50%)
  4. 不知道父元素高度,子绝父相,子元素 top:50%,transform: translateY(-50%)
  5. .创建一个隐藏节点,让隐藏节点的 height 为剩余高度的一半
    #hide{width:50%;height:25%(剩余高度一半
  6. 给父元素 display:table,子元素 display:table-cell,vertical-align: middle
  7. 给父元素添加伪元素 ,::before{content:'';display:inline-block;vertical-align: middle;height:100%
  8. 弹性盒,父元素 display:flex,子元素 align-self:center

11.如何让 chrome 浏览器显示小于 12px 的文字

-webkit-transform:scale(XXX)对文本进行缩放

12.css 选择器有哪些,那些属性可以继承,优先级如何计算?

Cs2 选择器:
元素选择器,id 选择器,群组选择器,类选择器,*通配符选择器,后代选择器
Cs2 伪类选择器:a:link/visted/hover/active
Cs3 选择器:
空格 > +相邻兄弟选择器 ~通用选择器(查找后面所有)
结构伪类选择器:
查找第几个 nth-child(n)
查找同一类型第几个 nth-oftype
查找唯一类型 only-oftype
属性选择器:根据标签属性查找 [atr=value]
: rot 查找根元素 html 标签
: empty 查赵空标签
目标伪类选择器:(表单)
:enabled 查找可以使用的标签
:disabled 查找禁止使用的标签
:checked 查找被选中的标签
伪元素选择器 :selction 设置选中文本内容的高亮显示(只能用于背
景色和文本颜色)
否定伪类选择器 not()
语言伪类选择器 lang(取值)

优先级(权重):
元素选择器 1
伪元素选择器 1
clas 选择器 10
伪类选择器 10
属性选择器 10
Id 选择器 100
内联样式的权重 1000
包含选择器权重为权重之和
继承样式权重为 0
那些属性可以继承:
Cs 继承特性主要是文本方面
所有元素可继承:visbilty 和 cursor
块级元素可继承:text-indent 和 text-align
列表元素可继承:list-yle,list-yle-type,list-yle-positon,
list-yle-image
内联元素可继承:letr-spacing,word-spacing,line-height,colr,
font,font-family,font-size
Font-syle , font-varint , font-weight , text-decoration ,
text-ransform,direction
字母间距 段落间距 行高 字体颜色 字体种类 字体大小 字体样
式 字体粗细 小型大写字母文本 文本修饰 转换不同元素中的文本 文
本方向

13.网页中有大量图片加载很慢 你有什么办法进行优化?

  1. 图片懒加载,在图片未可视区域加一个滚动条事件,判断图片位置与浏
    览器顶端和页面的距离,如果前者小于后者,优先加载
  2. 使用图片预加载技术,将当前展示图片的前一张和后一张优先下载
  3. 使用 cssprite(雪碧图) 或者 svgsprite

14.行内元素/块级元素有哪些?

行内元素:相邻的行内元素会排列在同一行,不会独占一行 设置宽高无
效 span
块级元素:会独占一行 可以设置宽高等属性 div
可变元素:根据上下文预警决定该元素为块元素还是内联元素
块级元素:div h1-h6 hr p ul o table adres blockquote dir fom
menu
行内元素:a br I em img input selct span sub sup u textarea
可变元素:buton del iframe ins

15、16.浏览器的标准模式和怪异模式区别?

标准模式:浏览器按照 W3C 标准解析执行代码
怪异模式:浏览器根据自己的方式解析执行代码,因为不同浏览器解析
执行方式不一样,所以叫怪异模式

区别:
在怪异模式下,盒模型为怪异盒模型 而在标准模式下为标准盒子模型
标准模式下,一个块的总宽度= width + margin(左右) + padding(左右) + border(左右)
一个块的总宽度= width + margin(左右)(即width已经包含了padding和border值)

图片元素的垂直对齐方式对于行内元素和 table-cel 元素,标准模式下
vertical-align 属性默认值是 baseline,而在怪异模式下,table 单元格
中的图片的 vertical-align 属性默认值是 bottom,因此在图片底部会有
几像素的空间
元素中的字体css中font的属性都是可以继承的,怪异模式下,对于table
元素,字体的某些元素不能从其他封装元素继承中得到,特别是 font-size属性
内联元素的尺寸标准模式下,no-replaced inline 元素无法自定义大写,

怪异模式下,定义元素的宽高会影响元素的尺寸
元素的百分比高度当一个元素使用百分比高度时,在标准模式下,高度
取决于内容变化,在怪异迷失下,百分比被准确应用
元素溢出的处理标准模式下,overflow 取值默认值为 visble,在怪异模
式下,这个溢出会被当做扩展 box 对待,就是元素的大小由内容决定,
溢出不会裁剪,元素框自动调整,包含溢出内容

16、Margin 和 pading 在什么场合下使用

Margin 外边距 自身边框到另一个边框之间的距离
Pading 内边距 自身边距到自身内容之间的距离
当需要在 border 外侧添加空白时用 margin,当需要在 border 内侧添
加空白时用 pading

17、弹性盒子布局属性有那些请简述?

Flex-direction:弹性容器中子元素排列方式(主轴排列方式)
Flex-wrap:设置弹性盒子的子元素超出父容器时是否换行
Flex-flow:是 flex-direction 和 flex-wrap 简写形式
Align-item:设置弹性盒子元素在侧轴上的对齐方式
Align-content:设置行对齐
Justify-content:设置弹性盒子元素在主轴上的对齐方式

18.怎么实现标签的禁用

添加 disabled 属性

19、Flex 布局原理

就是通过给父盒子添加 flex 属性,来控制子盒子的位置和排列方式

20、Px,rem,em 的区别

em 相对长度单位,相对于当前对象内文本的字体尺寸
em 的值并不是固定的
em 会继承父级元素的字体大小(参考物是父元素的 font-size)
em 中所有的字体都是相对于父元素的大小决定的
rem 相对于 html 根元素的 font-size
1em=1rem=16px 在 body 中加入 font-size:62.5% 这样直接就是原
来的 px 数值除以 10 加上 em 就可以

em的初始值为1em=16px,显然这样的话,如1.2em则=19.2px,可是我们在设置的时候很少看见19.2px这样表示的大小,也就是在用px表示大小时数值是不带小数位的。当设置了body{font-size:> 62.5%;}时,1em则=16px*62.5%=10px,1.2em则=12px

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值