1.块级元素和行内元素分别有哪些?动手测试并列出几条不同的地方。
- 块级元素block:
<p>,<div>,<form>,<ul>,<ol>,<li>,<table>,<tr>,<td>,<th>,<hx>,<hr/>
- 行内元素inline:
<em>,<strong>,<span>,<img>,<input>,<select>,<textarea>,<label>,<a>
- 行内元素和块状元素的区别:
块状元素可以包含块状元素和行内元素,但是行内元素只能包含行内元素。
块状元素独占一行,行内元素只占据他本身大小。
块状元素可以设置width,height。行内元素不能设置高宽。
块状元素的可以设置margin,padding;行内元素设置的margin-top和margin-bottom不生效,padding-top和padding-bottom看上去会撑开行内元素,但是本身位置并没有变大。
2.什么是CSS继承,哪些可以继承,哪些不可以继承。
CSS的继承指的是子元素在不设置样式的时候,采用父元素设置的样式。
可以继承的属性有:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction、list-style、list-style-type、list-style-position、list-style-image、text-indent和text-align
不可以继承的属性:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi。
3.如何让块状元素水平居中?如何让行内元素水平居中。
-
块状元素的水平居中:
- margin:0 auto;
对于不定宽块状元素可以使用这种方法,让他自适应元素父元素宽度,水平居中。
- margin:0 auto;
- 绝对定位加负margin(margin:0 auto;)的方法。
- 绝对定位加transform法,或者直接transform方法。
- 弹性盒子方法。
为父元素设置display:flex;
参考:http://www.w3school.com.cn/cssref/pr_transform.asp
-
行内元素水平居中的方法。
直接为父元素设置text-align:center;
4.用CSS实现一个三角形
用CSS实现三角形,原理是利用border的显示效果,配合transparent;
5.单行文本溢出加...如何实现。
属性text-overflow的值设置为text-overflow:ellipsis;
http://www.w3school.com.cn/cssref/pr_text-overflow.asp
6.px, em, rem 有什么区别?
px,相对长度单位。像素px是相对于显示器屏幕分辨率而言的。但是不适合做响应式或者移动端设计,不支持缩放。
em,相对单位,相对于父元素设置的字体大小。由于可能实际开发中有多层嵌套,换算较为麻烦,支持缩放。
rem,相对长度单位,但是是相对于html的根元素来换算,不用多次换算,支持缩放。较为推荐使用做移动端或响应式开发。
7.解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
字体大小为12px,行高为字体的大小的1.5倍。从左到右,依次查询字体,没有第一种就加载第二种,以此类推,直到浏览器默认字体。
引号代表的是字符串,因为中间有空格,如果没有查询到这种字体可能加载出来的就是乱码,字体中\5b8b\4f53代表的"宋体"unicode码,也是为了防止浏览器没有查到中文的宋体,直接采用unicode码比较靠谱。