1. HTML和HTML5、CSS和CSS3相比,有什么变化?

HTML5中新增的内容有:

  1. 自定义属性:data-id
  2. 语义化更好的内容标签: header、nav、footer、aside、article、section
  3. 音频、视频标签:audio、video (浏览器不支持自动播放 ,谷歌浏览器不支持音频自动播放,但是视频支持自动播放)
  4. 数据存储 localStorage、sessionStorage
  5. 拖拽释放(Drag and drop) API
  6. 画布(Canvas) API
  7. 地理(Geolocation) API
  8. 新的 input 类型:calendar、time、month 、week 、date 、email、url、search 、number 、range 、 color
  9. 新的表单属性:fieldset、legent、placeholder、autofocus、required、maxlength、minlength、novalidate、autocomplete

CSS3中新增的内容有:

  1. 颜色:新增RGBA,HSLA模式

  2. 文字阴影(text-shadow)、rem 字体大小单位(相对于根元素 font-size 属性值,根元素字体大小设置为 62.5% 则 1rem 等于 10px)

  3. 边框: 圆角(border-radius)边框阴影: box-shadow

  4. 怪异盒模型:box-sizing

  5. 背景:background-size 设置背景图片的尺寸background-origin 设置背景图片的原点background-clip 设置背景图片的裁切区域,以”,”分隔可以设置多背景,用于自适应布局

  6. 渐变:linear-gradient、radial-gradient

  7. 过渡:transition,可实现动画

  8. 自定义动画: animation

  9. 在CSS3中唯一引入的伪元素 :selection.

  10. 媒体查询 : @media only screen and (max-width:800px) ===>除了screen还有print打印机、speech屏幕阅读器、all 所有媒体类型设备

  11. border-image

  12. 2D转换:transform : translate(x,y) rotate(x,y) skew(x,y) scale(x,y)

  13. 3D转换 :transform-style : preserve-3d;

  14. 新增选择器:属性选择器、伪类选择器、伪元素选择器。

  15. 网格系统,把网页均分成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
特点:

  1. 独占一行,宽、高和四个方向的内、外边距都可以设置;
  2. 默认宽度是父元素的100%,默认高度是其内容撑起来的实际高度,table标签除外;
  3. 可以包含任意元素(表格系除外、h标签不能包含h标签、p标签不能包含块状元素);

行内元素:span、a、b、strong、i、em、u、ins、s、del
特点:

  1. 不独占一行,设置宽高无效;

  2. 默认的宽、高都是内容撑起来的;

  3. 水平方向的外边距可以设置,垂直方向设置无效;
    四个方向的内边距皆可设置;

  4. 一般只能包含行内元素与文本内容


行内块元素:img、audio、video、input、button、label、select、option、textarea
特点:

  1. 不独占一行,宽高可以设置;
  2. 默认宽高由其本身特点决定;
  3. 四个方向的内外边距都可以设置;
  4. 一般不包含其他元素;

3. 圣杯布局(双飞翼布局)有哪几种实现方式

  1. 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.常见的盒子模型有哪些,有什么区别

  1. W3C盒模型(标准盒模型)
给一个标签添加:box-sizing:content-box;(元素默认)
这个标签就转换为了w3c盒模型
标签得实际宽度 = 设置的宽度 + border宽度 + padding的宽度
  1. 怪异盒模型(又称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. 谈一谈你对浮动的理解

浮动可以使元素脱离标准流,漂浮到指定位置;(标准流:元素按照本身特性进行排列布局)
设置浮动的初衷是实现文字环绕图片的效果。

浮动的 特点

  1. 添加浮动后的元素与其他元素不在同一平面,会漂浮在其他元素之上;
  2. 添加浮动后的元素不占位置;
  3. 添加浮动后的多个元素会在同一行上显示;
  4. 添加浮动后的元素不会超出父元素的内容区域,即不会覆盖父元素的边框与内边距
  5. 添加浮动后的元素会有行内块元素的部分特性(比如默认内外边距、不再独占一行)

浮动带来的 影响:添加浮动后的子元素撑不开父元素的高度;

怎么清除浮动带来的影响:

  1. 额外标签法:给子元素添加一个兄弟元素,为兄弟元素设置 clear:both;clear:left; 、clear:right;(clear:both 的本质就是闭合浮动, 让父盒子闭合出口和入口,不让子盒子出来)
    这种方式增加了无意义的标签,使结构不规范、不够语义化;
  2. 给父元素添加 overflow:hidden; 通过触发BFC方式,实现清除浮动。
    代码简洁,但内容增多的时候容易造成不会自动换行导致内容被隐藏掉,无法显示溢出的元素。
  3. 伪元素清除浮动:在父元素的末尾或者开头添加伪元素 ::after、::before ,在伪元素中设置以下属性:
<style>
#parent::after{content: "";display: block;clear:both;
}
</style>

但 IE6-IE7 不支持伪元素;

  1. 双伪元素清除浮动,和单伪元素一样:
<style>
#parent::after,
#parent::before{content: "";display: block;clear:both;
}
</style>

8.伪类有哪些,它们的作用和书写顺序是什么

转载自:简书

  1. link 表示的是正常情况下链接的样式。
  2. visited 代表链接访问后的样式,则链接一旦被访问,则之后它的样式就会是你所设置的visited样式。
  3. hover 在鼠标移到链接上时添加的特殊样式。
  4. focus 在一个元素成为焦点时生效,用户可以通过键盘或鼠标激活焦点。
  5. active 在一个元素处于激活状态(鼠标在元素上按下还没有松开)时所使用的样式。
  6. 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部分面试题汇总相关推荐

  1. Java面试题汇总及答案2021最新(序列化含答案)

    Java面试题汇总及答案2021最新(序列化含答案) 为大家整理了2021最新的Java面试题及答案下载,这套Java面试题总汇已经汇总了Java基础面试到高级Java面试题,几乎涵盖了作为一个Jav ...

  2. Java面试题汇总及答案2021最新(ioNio)

    Java面试题汇总及答案2021最新(io&Nio) 最近给大家整理了一批Java关于io和nio的面试题一共15题,是20201最新时间整理的,并且都含答案打包下载. 适宜阅读人群 需要面试 ...

  3. access汇总含义_2020最新大厂内部 PHP 高级工程师面试题汇总(二)

    51.数据库中的存放了用户 ID, 扣费很多行,redis 中存放的是用户的钱包,现在要写一个脚本,将数据库中的扣费记录同步到 redis 中,每 5 分钟执行一次.请问要考虑哪些问题? 思路:生产者 ...

  4. 程序员必看 c++笔试题汇总

    ①链表反转 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题.比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3-& ...

  5. 超全!iOS 面试题汇总

    超全!iOS 面试题汇总 2015-10-20 CocoaChina 作者:Job_Yang 之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家. ...

  6. 专业软件测试面试题汇总

    专业软件测试面试题汇总 一.如何保证测试用例能达到全部覆盖? 1.需要测试人员有丰富的测试经验 2.需求分析透彻,已确定好测试范围 3.通过测试用例评审 二.版本测试通过的标准是什么? 1.用例测试通 ...

  7. web前端兼容性面试题汇总!

    web前端兼容性面试题汇总 一.html部分 1.H5新标签在IE9以下的浏览器识别 html5shiv.js下载地址 2.ul标签内外边距问题ul标签在IE6\IE7中,有个默认的外边距,但是在IE ...

  8. java 正则表达式 替换字符串img标签的路径_python面试题汇总第06期-正则表达式(内附7题及答案)...

    1.python正则表达式中匹配(match)和查找(search)的区别 答:正则表达式中match和search的方法比较相似 相同点:都是在一个字符串s中寻找pat子字符串,如果能找到,就返回一 ...

  9. dotNET面试题汇总系列连载(1):基础语法

    点击上方"dotNET全栈开发","设为星标" 加"星标★",每天11.50,好文必达 全文约4000字,预计阅读时间8分钟 马上要到202 ...

最新文章

  1. 脑机接口让脊髓损伤患者重新获得手部触觉
  2. OneAPM大讲堂 | 提高JavaScript性能的30个技巧
  3. 记一次与为知笔记的客服沟通
  4. 编码练习——Java-7-集合类
  5. 浏览器获取设备信息_一条命令获取 IE 浏览器保存网站的账号和密码信息
  6. win10系统电脑wifi图标不见了的开启方法
  7. 2014 中华架构师大会 回想
  8. 实验四 lr0分析程序的设计与实现_试验机海外直播丨实现高精度CAE分析实验的材料评价案例技术介绍...
  9. 云南科软信息科技有限公司
  10. HCIE-Security Day29:IPSec:实验(四)总部与分支机构之间建立IPSec PN(采用策略模板方式,总部采用固定IP)
  11. Nonlinear Projection Based Gradient Estimation for Query Efficient Blackbox Attacks论文解读
  12. sql server完全卸载
  13. 2. shenyu(神禹)网关调用链及组装过程
  14. python 发邮件 抄送,Python调用outlook发送邮件,发送给多人、抄送给多人并带上附件...
  15. 7-38 寻找大富翁 (25分)
  16. 阿里云服务器发送邮箱失败问题
  17. go语言webSocket框架——gorilla
  18. 大一下数据结构编程实验——线性结构及其应用
  19. RAID磁盘阵列是什么
  20. 手把手教你提升抖音直播间人气、流量的6个技巧

热门文章

  1. Google Colab 云盘路径 读取云盘文件
  2. 基于C#实现的车辆信息管理系统
  3. 高频电路板罗杰斯RogersRO3003规格参数
  4. 数字货币“中国队”,将如何改变未来?
  5. 【狂神说Java】多线程详解
  6. 禁忌搜索算法c语言例题,用于一般指派问题的禁忌搜索算法.doc
  7. 四:建立一个ipv4/ipv6的信息库
  8. 【机器学习】优化算法
  9. VS远程调试连接失败
  10. 17、基于51单片机智能饮水机带温度水位检测APP控制系统设计