CSS3面试题
1.隐藏网页中的元素有几种方式?这些方法有什么区别?
答案:三种方法.
display:none;脱离文档流,不占页面空间,会改变页面布局。
visivility:hidden;不会脱离文档流,不会改变页面布局,仍占页面空间。
opacity:0;该元素隐藏起来了,但不会改变页面布局,并且,如果该元素已经绑定
一些事件,如click事件,那么点击该区域,也能触发点击事件.
2.如何解决子元素的上外边距溢出?
答案:在父元素的第一个子元素位置处添加一个空的table标记.
3.常用来设置透明度的方式有几种?他们之间有何区别?
答案:opacity和rgba
opacity能设置与元素相关各种颜色的透明度
rgba()只能设置当前某一种颜色的透明度.
4.浮动会对父元素的高度带来什么影响?如何解决这个问题?
答案:子元素一旦浮动,父元素的高度为0,在父元素最后一个子元素位置处
添加一个空的块级元素,并设置其clear属性为both.
.clear:after{
display:block;
content:"",
clear:both;
}
5.哪些元素默认有外边距?
答案:body,p,h1-h6,ul,ol,dl,pre
6.网页中如何定义锚点?如何连接到锚点位置?
答案:a标记用name定义锚点,其他标记用id属性定义锚点.
连接到锚点的位置:href="#锚点名称";
7.框模型默认的计算方式是什么?要改变默认的计算方式用哪个属性及值?
实际占地宽度=左右外边距+左右边框+左右内边距+width
实际占地高度=上下外边距+上下边框+上下内边距+height
改变计算方式: box-sizing:border-box
8.实现时针转动效果需要用到CSS中哪些关键技术?
答案:旋转,动画,,绝对定位
9.设置行内元素居中对齐用什么属性?
答案:text-aligin:center
10.如果要将表单中控件的值提交给服务器必须为控件设置什么属性?
答案:name和value属性
11.transition和animation的区别?
答案:Animation和transition大部分属性是相同的,他们都是随时间改变元素的属性值,他们的主要
区别是transition需要触发一个事件才能改变属性,而animation不需要触发任何事件的情况下也会随着
时间改变属性值,并且transition为2帧.从from.... to ,而animation可以以帧一帧的,也可以理解为一个
animation是由多个transition组成.
12.如何实现水平垂直居中?
答案:
1.定位+外边距
盒子宽高已知,position:absolute;left:50%;top:50%;
margin-left:-自身一半宽度;margin-top:-自身一半高度;
2.定位+transform 盒子宽高已知,
#container{
position:relative;
border:1px solid red;
width:800px;
height:600px;
}
#content{
width:100px;
height:100px;
background:blue;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
3.flex布局
父级:
display:flex;
align-items:center;/*垂直居中*/
justify-content:center;/*水平居中*/
居中布局
-水平居中
行内元素:text-aligin:center;
块级元素:margin:0 auto;
绝对定位已知宽度: position:absolute;margin-left:-(宽度的一半);left:50%;
绝对定位+transform: postion:absolute;left:50%;transform:translateX(-50%);
弹性布局水平居中: display:flex;justify-content:cneter;
-垂直居中
line-height:height;高度设置和盒子一样高
绝对定位和transform: position:absolute;top:50%;transform:translateY(-50%);
弹性布局垂直居中: display:flex;aligin-items:center;
绝对定位已知高度:position:absolute;margin-top:-(高度的一半);top:50%;
-水平垂直居中
1.已知宽高100px
position:absolute;
top:50%;
left:50%;
margin-left:-50px;
margin-top:-50px;
2.弹性布局
display:flex;
justify-content:center;
aligin-items:center;
3.css3的transform属性
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
4.margin:auto;
postion:absolute;
top:0;
left:0;
right:0;
bottom:0;
margin:auto;
13.盒子模型你是怎么理解的?
答案:元素框处理元素内容,内边距外边距以及边框计算方式.
盒子模型有两种,W3C和IE盒子模型
(1)w3c的盒模型: width=content内容区域宽;不包括margin,padding,border
(2)IE盒模型: width=content 内容宽度 + padding 宽度 + border 宽度
(3)box-sizing border-box在已设定的宽度和高度之内去设定padding和border
content-box在已设定的高度和宽度之外设置padding和border
14.src和href的区别?
答案:
(1) href:href是Hypertext Reference的缩写,表示超文本引用。用来建立当前元素和文档
之间的连接。并行下载该文档,不会停止对当前文档的处理.
(2)src:src是source的缩写,src指向的内容会嵌入到文档当前标签所在位置.
如img、script、ifram当浏览器解析到该元素时,会暂停浏览器的渲染,直到
该资源加载完毕.
15.说出link和import的区别?
(1)使用方法不同:
link一般在html头部定义,作为html标签,链接资源,主要用于链接外部的样式表.
import 一般定义在css内部,并且一定要在其他所有规则之前,也就是一般写在文件头部,
并且专门拿来链css的。
(2)加载顺序差别
import 比link延迟一些,它会等到页面下载完成后才加载,因而可能会产生闪烁.
16.改变页面元素位置的定位方式及他们的区别?
答案:relative相对定位相对于自身原来位置进行偏移,
仍处于标准文档流中;
absolute绝对定位 相对于最近的已定位的祖先元素,有已定位(指position不是static的元素)
祖先元素,以最近的祖先元素为参考标准。如果无已定位祖先元素,以body元素为偏移参照,完全
脱离文档流;
fixed固定定位的元素会相对于视窗来定位,者意味着即便页面滚动,它还是会停留在固定的位置。
固定定位也会脱离文档流。
17.display有哪些值,说明他们的作用?
答案:display的取值可以是none/inline/block/inline-block/table
none:元素隐藏不可见,并且元素也不占页面空间.
inline:元素将呈现行内元素的特点,多个元素在一行中显示,不允许修改尺寸,也不能设置垂直外边距。
block:元素将呈现块级元素的特点,每个元素独占一行,允许修改尺寸。
inline-block:元素将呈现行内块元素的特点,多个元素在一行中显示,但是可以修改尺寸。
table:元素将显示表格的特点,由内容决定表格的显示方式。元素独占一行,允许修改尺寸。
18.有两个div,外框和内宽高度宽度都不定,内宽垂直水平居中,利用css如何实现?
答案:
.content{
display:flex;
justify-content:center;
aligin-items:center;
}
19.说说em和rem的区别?
答案:rem是基于html元素的字体大小来决定,而em则根据使用他的元素的字体大小决定(
很多人错误以为是根据父类元素,实际上时元素继承了父类属性才会产生的错觉)
20.浏览器的内核分别是什么?
答案:IE 浏览器的内核 Trident、Mozilla 的 Gecko、Chrome 的 Blink(WebKit 的分支)、
Opera 内核原为 Presto,现为 Blink
21.为什么要初始化CSS样式?
因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,
如果没对CSS初始化往往会出现浏览器之间的页面显示差异。当然,
初始化会对SEO有一定影响,但力求影响最小的情况下初始化。最简单的
初始方法就是:*{padding:0;margin:0;}(不建议)淘宝的样式初始化:
body,h1,h2,h3,h4,h5,h6,hr,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,
input,textarea,th,td{margin:0;padding:0;}
body,button,input,select,textarea{font:12px/1.5tahoma,arial,/5b8b/4f53;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
ul ol {list-style:none;}
a{text-decoration:none;}
a:hover{text-decoration:underline}
img{border:0;}
button,input,select,textarea{font-size:100%;}
table{border-collapse:collapse;border-spacing:0;}
22.CSS哪些属性可以继承?优先级算法如何计算?CSS3新增伪类有哪些?
答案:可继承的样式:font-szie,font-family,color,background等
不可继承的样式:border,padding,margin,width,height;
优先级就近原则,同权重情况下以最近者为准;
优先级为:!important>id>class>tag important比内联优先级高
CSS3新增伪类:
:first-child 选择属于其父元素的首个元素.
:last-child 选择其父元素的最后一个元素.
:only-child 选择属于其父元素唯一的元素.
:nth-child(n) 选择属于其父元素的任意一个子元素.
:empty 选择没有子元素的元素.
:not(selector) 将满足指定选择器的元素给排除在外.
23.描述css rest的作用。
答案:reset重置浏览器为元素设置的默认样式,浏览器的种类不同,样式可能不同,
重置是为了让他们统一样式.
24.清除浮动带来影响的几种方式,各自的优缺点.
答案:
1.直接设置父元素高度,但不是每次都知道父元素的高度.
2.设置父元素也浮动,但不是任何时候父元素都需要浮动,
而且浮动会影响后续元素.
3.为父元素设置overflow属性,但如果有内容需要溢出显示的话,也会
一同被隐藏.
4.在父元素中,追加空子元素,并设置其clear:both,但页面中会多出一个空元素.
5.用内容生成的方式 :after{content:"",display:block;clear:both;}
25.px和em的区别
px和em都是长度单位,区别是,px的值是固定的,指定是多少就是多少,计算比较容易
em的值不是固定的,并且em会继承父级元素的字体大小.
浏览器默认字体高都是16px.所以未经调整的浏览器都符合:1em=16px
那么12px=0.75em,10px=0.625em
CSS3面试题的更多相关文章
- HTML5 CSS3面试题
一.CSS3有哪些新特性? 1. CSS3实现圆角(border-radius),阴影(box-shadow), 2. 对文字加特效(text-shadow.),线性渐变(gradient),旋转(t ...
- html5与css3面试题(2)
10.xhtml与HTML的区别? Html是对web网页设计的语言,而xhtml是基于xml的置标语言 11.面向对象的引用方法分为几种? 内部写的 原型链引用的 12.什么是重载? 函数名相同,但 ...
- html5与css3面试题(1)
1.html有哪些新特性移除了哪些元素 新特性: 语义化标签(header,nav,footer.section) 音频,视频(audio,video) 画布canvas 移除元素: 表现元素:cen ...
- 前端开发面试题总结之——CSS3
____________________________________________________________________________________________ 相关知识点 布 ...
- html5/css3常考面试题
一.HTML5 CSS3 CSS3有哪些新特性? 1. CSS3实现圆角(border-radius),阴影(box-shadow), 2. 对文字加特效(text-shadow.),线性渐变(gra ...
- 前端面试题总结:HTML5,JS,CSS3,兼容性。
1. 请写出至少20个HTML5标签 <article><aside> <audio><video> <canvas><datalis ...
- CSS3 核心知识面试题
一种常见利用伪类清除浮动的代码 .clearfix:after { content:"."; //这里利用到了content属性 display:block; height:; v ...
- 前端开发面试题收集(css部分)
http://davidshariff.com/quiz/ 做了下这里面前端开发面试的题,发现有些不会,所以在此做个整理以供自己学习,参考,总结. 1.问: CSS属性是否区分大小写? ul { Ma ...
- CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset
一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...
随机推荐
- PHP的yield是个什么玩意
来源:https://segmentfault.com/a/1190000018457194 其实,我并不是因为迭代或者生成器或者研究PHP手册才认识的yield,要不是协程,我到现在也不知道PHP中 ...
- php中&&和and有什么区别
PHP中的逻辑“与”运算有两种形式:AND 和 &&,同样“或”运算也有OR和||两种形式. 如果是单独两个表达式参加的运算,两种形式的结果完全相同,例如 $a AND $b和$a & ...
- 澳大利亚公共服务部门神速完成Win10部署:4个月完成44000台设备升级
不到一年时间,澳大利亚公共服务部门已经完成Win10系统部署升级,涉及到全部的35000名员工.在2015年,澳大利亚公共服务部门IT员工告知微软,需要更创新的方式远程为居民提供服务,并且效率要更快. ...
- 基于Swoole的HTTP/HTTPS代理
N行代码实现一个简单的代理服务器 <?php /** * Web代理服务器(支持http/https) * @author zhjx922 */ class WebProxyServer { p ...
- CentOS 7 网络优化(升级内核、开启 BBR)
我之前介绍过关于 TCP 一些优化,包括安装使用 TCP 优化软件,这些适用于较低版本的 CentOS 系统,例如 CentOS 6,详细可参考<Linux 下的一些简单的 TCP 优化> ...
- 数据结构--顺序栈--C++实现
#include <iostream> #define MaxSize 5000 using namespace std; template <typename T> clas ...
- 图论--2-SAT--暴力染色法模板(字典序最小解) RQ的板子
//暴力DFS,求字典序最小的解,也是求字典序唯一的方法 #include<cstdio> #include<cstring> #include<vector> u ...
- 《Docker从入门到跑路》之基本用法介绍
Docker是一种轻量级的虚拟化技术,它具备传统虚拟机无法比拟的优势,它更简易的安装和使用方式.更快的速度.服务集成和开源流程自动化. Docker的安装 安装Docker的基本要素:1.Docker ...
- nginx代理vue项目
很多项目的前端都使用vue编写的,在项目上线部署的时候,有些项目要求把前端页面和后台服务部署在不同的服务器,这就要求使用nginx代理,本文就来讲讲vue项目怎么使用nginx代理. 项目github ...
- dp (1)
D - Tree of Tree ZOJ - 3201 这个题目我开始是这么定义的dp[i][j][0] dp[i][j][1] 表示对于第i个节点还有j个的选择 0 代表不选这个节点,1 代表选这个 ...