H5C3部分面试题汇总
1. HTML和HTML5、CSS和CSS3相比,有什么变化?
HTML5中新增的内容有:
- 自定义属性:data-id
- 语义化更好的内容标签: header、nav、footer、aside、article、section
- 音频、视频标签:audio、video (浏览器不支持自动播放 ,谷歌浏览器不支持音频自动播放,但是视频支持自动播放)
- 数据存储 localStorage、sessionStorage
- 拖拽释放(Drag and drop) API
- 画布(Canvas) API
- 地理(Geolocation) API
- 新的 input 类型:calendar、time、month 、week 、date 、email、url、search 、number 、range 、 color
- 新的表单属性:fieldset、legent、placeholder、autofocus、required、maxlength、minlength、novalidate、autocomplete
CSS3中新增的内容有:
颜色:新增RGBA,HSLA模式
文字阴影(text-shadow)、rem 字体大小单位(相对于根元素 font-size 属性值,根元素字体大小设置为 62.5% 则 1rem 等于 10px)
边框: 圆角(border-radius)边框阴影: box-shadow
怪异盒模型:box-sizing
背景:background-size 设置背景图片的尺寸background-origin 设置背景图片的原点background-clip 设置背景图片的裁切区域,以”,”分隔可以设置多背景,用于自适应布局
渐变:linear-gradient、radial-gradient
过渡:transition,可实现动画
自定义动画: animation
在CSS3中唯一引入的伪元素 :selection.
媒体查询 : @media only screen and (max-width:800px) ===>除了screen还有print打印机、speech屏幕阅读器、all 所有媒体类型设备
border-image
2D转换:transform : translate(x,y) rotate(x,y) skew(x,y) scale(x,y)
3D转换 :transform-style : preserve-3d;
新增选择器:属性选择器、伪类选择器、伪元素选择器。
网格系统,把网页均分成12列进行布局
基于此文有所改动:H5C3新特性
2. 标签元素的分类和特点 (元素显示模式)
标签元素可以分成三大类:块状元素、行内元素、行内块元素,
对应的元素显示模式为:display:block; display:inline; display:inline-block;
块状元素:hn、p、div、ul、ol、dl、li、dd、dt、table、thead、tbody、caption、tr、form、header、footer、section、nav、article、aside
特点:
- 独占一行,宽、高和四个方向的内、外边距都可以设置;
- 默认宽度是父元素的100%,默认高度是其内容撑起来的实际高度,table标签除外;
- 可以包含任意元素(表格系除外、h标签不能包含h标签、p标签不能包含块状元素);
行内元素:span、a、b、strong、i、em、u、ins、s、del
特点:
不独占一行,设置宽高无效;
默认的宽、高都是内容撑起来的;
水平方向的外边距可以设置,垂直方向设置无效;
四个方向的内边距皆可设置;一般只能包含行内元素与文本内容
行内块元素:img、audio、video、input、button、label、select、option、textarea
特点:
- 不独占一行,宽高可以设置;
- 默认宽高由其本身特点决定;
- 四个方向的内外边距都可以设置;
- 一般不包含其他元素;
3. 圣杯布局(双飞翼布局)有哪几种实现方式
- calc()函数 2. 左浮动、右浮动 3.绝对定位加内边距 4.弹性布局
详细写法在这里:CSS实现圣杯布局
4.弹性盒模型有哪些属性和属性值,有什么效果
属性名 | 属性值 | 效果 |
---|---|---|
flex-direction | row、row-reverse、column、column-reverse | 设置内部项目的排列方向 |
flex-wrap | nowrap、wrap、wrap-reverse | 设置换行方式,wrap-reverse为第一行在最下面 |
flex-flow | flex-flow属性是flex-direction以及flex-wrap属性的简写形式,默认值为row nowrap | 上面两种属性的简写 |
justify-content | flex-start、flex-end、center、space-between、space-around、space-evenly | 项目在主轴(X轴)上的对齐方式 |
align-items | flex-start、flex-end、center、baseline、stretch(默认值) | 项目在交叉轴(Y轴)上的对齐方式 |
align-content | flex-start、flex-end、center、space-between、space-around、stretch(默认值) | 有多根轴线时的对齐方式。如果项目只有一根轴线,那么该属性不起作用 |
order | 1、2、3… | 项目的排列顺序,数字越小越靠前 |
flex-grow | flex-grow:1; … | 项目放大的比例 |
flex-shrink | flex-shrink: 3; … | 项目缩小的比例 |
flex-basis | flex-basis: 100px; | 规定弹性项目的初始长度。 |
flex | flex: flex-grow flex-shrink flex-basis; | flex-grow,flex-shrink 和 flex-basis 的简写 |
align-self | start、end、stretch、center | 设置个别项目在交叉轴(Y轴)上的对齐方式 |
5.常见的盒子模型有哪些,有什么区别
- W3C盒模型(标准盒模型)
给一个标签添加:box-sizing:content-box;(元素默认)
这个标签就转换为了w3c盒模型
标签得实际宽度 = 设置的宽度 + border宽度 + padding的宽度
- 怪异盒模型(又称ie盒模型)
给一个标签添加:box-sizing:border-box;
这个标签就转换为了怪异盒模型
标签得实际宽度 = 设置的宽度
如果设置了padding和border就是从设置的实际宽高中减去,减去后才是内容的宽高。
区别:
主要区别:对于宽高的定义不同
w3c盒模型:设置的宽度就等于内容的宽度
怪异盒模型:内容的宽度 = 设置的宽度 - border的宽度 - padding的宽度
6.写一个网易云播放动画,图片旋转+撞针来回拨动
图片旋转动画:
<style>.rotate360 {animation: rotate360 20s;animation-timing-function: linear;animation-iteration-count: infinite;animation-fill-mode: forwards;animation-play-state: paused;}@keyframes rotate360 {from {rotate: 0deg;}to {rotate: 360deg;}}
</style>
撞针来回动画:
<style>.needleGo {animation: needleGo 0.7s;animation-fill-mode: forwards;animation-timing-function: linear;animation-iteration-count: 1;}.needleBack {animation: needleBack 0.7s;animation-fill-mode: forwards;animation-timing-function: linear;animation-iteration-count: 1;}@keyframes needleGo {from {transform: rotate(0deg);}to {transform: rotate(-16deg);}}@keyframes needleBack {from {transform: rotate(-16deg);}to {transform: rotate(0deg);}}
</style>
7. 谈一谈你对浮动的理解
浮动可以使元素脱离标准流,漂浮到指定位置;(标准流:元素按照本身特性进行排列布局)
设置浮动的初衷是实现文字环绕图片的效果。
浮动的 特点:
- 添加浮动后的元素与其他元素不在同一平面,会漂浮在其他元素之上;
- 添加浮动后的元素不占位置;
- 添加浮动后的多个元素会在同一行上显示;
- 添加浮动后的元素不会超出父元素的内容区域,即不会覆盖父元素的边框与内边距
- 添加浮动后的元素会有行内块元素的部分特性(比如默认内外边距、不再独占一行)
浮动带来的 影响:添加浮动后的子元素撑不开父元素的高度;
怎么清除浮动带来的影响:
- 额外标签法:给子元素添加一个兄弟元素,为兄弟元素设置 clear:both; 或 clear:left; 、clear:right;(clear:both 的本质就是闭合浮动, 让父盒子闭合出口和入口,不让子盒子出来)
这种方式增加了无意义的标签,使结构不规范、不够语义化; - 给父元素添加 overflow:hidden; 通过触发BFC方式,实现清除浮动。
代码简洁,但内容增多的时候容易造成不会自动换行导致内容被隐藏掉,无法显示溢出的元素。 - 伪元素清除浮动:在父元素的末尾或者开头添加伪元素 ::after、::before ,在伪元素中设置以下属性:
<style>
#parent::after{content: "";display: block;clear:both;
}
</style>
但 IE6-IE7 不支持伪元素;
- 双伪元素清除浮动,和单伪元素一样:
<style>
#parent::after,
#parent::before{content: "";display: block;clear:both;
}
</style>
8.伪类有哪些,它们的作用和书写顺序是什么
转载自:简书
- link 表示的是正常情况下链接的样式。
- visited 代表链接访问后的样式,则链接一旦被访问,则之后它的样式就会是你所设置的visited样式。
- hover 在鼠标移到链接上时添加的特殊样式。
- focus 在一个元素成为焦点时生效,用户可以通过键盘或鼠标激活焦点。
- active 在一个元素处于激活状态(鼠标在元素上按下还没有松开)时所使用的样式。
- hover 理论上任何元素都可以使用的, focus 多是针对表单的,如input等 。而 active 多用于链接。
书写顺序:
各个样式之间的顺序很有讲究,一旦出现排列错误就很有可能形成覆盖,导致其中某个样式无法显示。
通常都按照 link - visited - focus - hover - active 的顺序;
9.如何去掉相邻两个图片中间的白边?
① 转换为块元素再浮动 ②为父元素添加 font-size:0;
10.如何实现文字垂直水平居中,盒子垂直水平居中
万能flex布局:
<style>.allCenter {display:flex;justify-content:center;align-items:center;}
</style>
文字居中的另一种方式:
<style>.allCenter {text-align:center;line-height:盒子高度;}
</style>
盒子居中的另一种方式:
<style>.allCenter {margin:auto;display:flex;align-items:center;}
</style>
11.单行文本溢出显示省略号,多行文本溢出显示省略号
<style>.one_hidden {overflow: hidden;white-space:nowrap;text-overflow:ellipsis;}.N_hidden {overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2; //最大限制为2行}
</style>
H5C3部分面试题汇总相关推荐
- Java面试题汇总及答案2021最新(序列化含答案)
Java面试题汇总及答案2021最新(序列化含答案) 为大家整理了2021最新的Java面试题及答案下载,这套Java面试题总汇已经汇总了Java基础面试到高级Java面试题,几乎涵盖了作为一个Jav ...
- Java面试题汇总及答案2021最新(ioNio)
Java面试题汇总及答案2021最新(io&Nio) 最近给大家整理了一批Java关于io和nio的面试题一共15题,是20201最新时间整理的,并且都含答案打包下载. 适宜阅读人群 需要面试 ...
- access汇总含义_2020最新大厂内部 PHP 高级工程师面试题汇总(二)
51.数据库中的存放了用户 ID, 扣费很多行,redis 中存放的是用户的钱包,现在要写一个脚本,将数据库中的扣费记录同步到 redis 中,每 5 分钟执行一次.请问要考虑哪些问题? 思路:生产者 ...
- 程序员必看 c++笔试题汇总
①链表反转 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题.比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3-& ...
- 超全!iOS 面试题汇总
超全!iOS 面试题汇总 2015-10-20 CocoaChina 作者:Job_Yang 之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家. ...
- 专业软件测试面试题汇总
专业软件测试面试题汇总 一.如何保证测试用例能达到全部覆盖? 1.需要测试人员有丰富的测试经验 2.需求分析透彻,已确定好测试范围 3.通过测试用例评审 二.版本测试通过的标准是什么? 1.用例测试通 ...
- web前端兼容性面试题汇总!
web前端兼容性面试题汇总 一.html部分 1.H5新标签在IE9以下的浏览器识别 html5shiv.js下载地址 2.ul标签内外边距问题ul标签在IE6\IE7中,有个默认的外边距,但是在IE ...
- java 正则表达式 替换字符串img标签的路径_python面试题汇总第06期-正则表达式(内附7题及答案)...
1.python正则表达式中匹配(match)和查找(search)的区别 答:正则表达式中match和search的方法比较相似 相同点:都是在一个字符串s中寻找pat子字符串,如果能找到,就返回一 ...
- dotNET面试题汇总系列连载(1):基础语法
点击上方"dotNET全栈开发","设为星标" 加"星标★",每天11.50,好文必达 全文约4000字,预计阅读时间8分钟 马上要到202 ...
最新文章
- 脑机接口让脊髓损伤患者重新获得手部触觉
- OneAPM大讲堂 | 提高JavaScript性能的30个技巧
- 记一次与为知笔记的客服沟通
- 编码练习——Java-7-集合类
- 浏览器获取设备信息_一条命令获取 IE 浏览器保存网站的账号和密码信息
- win10系统电脑wifi图标不见了的开启方法
- 2014 中华架构师大会 回想
- 实验四 lr0分析程序的设计与实现_试验机海外直播丨实现高精度CAE分析实验的材料评价案例技术介绍...
- 云南科软信息科技有限公司
- HCIE-Security Day29:IPSec:实验(四)总部与分支机构之间建立IPSec PN(采用策略模板方式,总部采用固定IP)
- Nonlinear Projection Based Gradient Estimation for Query Efficient Blackbox Attacks论文解读
- sql server完全卸载
- 2. shenyu(神禹)网关调用链及组装过程
- python 发邮件 抄送,Python调用outlook发送邮件,发送给多人、抄送给多人并带上附件...
- 7-38 寻找大富翁 (25分)
- 阿里云服务器发送邮箱失败问题
- go语言webSocket框架——gorilla
- 大一下数据结构编程实验——线性结构及其应用
- RAID磁盘阵列是什么
- 手把手教你提升抖音直播间人气、流量的6个技巧