1.塊級元素和行內(nèi)元素分別有哪些?動手測試并列出幾條不同的地方。
- 塊級元素block:
<p>,<div>,<form>,<ul>,<ol>,<li>,<table>,<tr>,<td>,<th>,<hx>,<hr/>
- 行內(nèi)元素inline:
<em>,<strong>,<span>,<img>,<input>,<select>,<textarea>,<label>,<a>
- 行內(nèi)元素和塊狀元素的區(qū)別:
塊狀元素可以包含塊狀元素和行內(nèi)元素,但是行內(nèi)元素只能包含行內(nèi)元素。
塊狀元素獨占一行,行內(nèi)元素只占據(jù)他本身大小。
塊狀元素可以設置width,height。行內(nèi)元素不能設置高寬。
塊狀元素的可以設置margin,padding;行內(nèi)元素設置的margin-top和margin-bottom不生效,padding-top和padding-bottom看上去會撐開行內(nèi)元素,但是本身位置并沒有變大。


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.如何讓塊狀元素水平居中?如何讓行內(nèi)元素水平居中。
-
塊狀元素的水平居中:
- margin:0 auto;
對于不定寬塊狀元素可以使用這種方法,讓他自適應元素父元素寬度,水平居中。
- margin:0 auto;

- 絕對定位加負margin(margin:0 auto;)的方法。

- 絕對定位加transform法,或者直接transform方法。

- 彈性盒子方法。
為父元素設置display:flex;


參考:http://www.w3school.com.cn/cssref/pr_transform.asp
-
行內(nèi)元素水平居中的方法。
直接為父元素設置text-align:center;
4.用CSS實現(xiàn)一個三角形
用CSS實現(xiàn)三角形,原理是利用border的顯示效果,配合transparent;
5.單行文本溢出加...如何實現(xiàn)。
屬性text-overflow的值設置為text-overflow:ellipsis;
http://www.w3school.com.cn/cssref/pr_text-overflow.asp
6.px, em, rem 有什么區(qū)別?
px,相對長度單位。像素px是相對于顯示器屏幕分辨率而言的。但是不適合做響應式或者移動端設計,不支持縮放。
em,相對單位,相對于父元素設置的字體大小。由于可能實際開發(fā)中有多層嵌套,換算較為麻煩,支持縮放。
rem,相對長度單位,但是是相對于html的根元素來換算,不用多次換算,支持縮放。較為推薦使用做移動端或響應式開發(fā)。
7.解釋下面代碼的作用?為什么要加引號? 字體里\5b8b\4f53代表什么?

字體大小為12px,行高為字體的大小的1.5倍。從左到右,依次查詢字體,沒有第一種就加載第二種,以此類推,直到瀏覽器默認字體。
引號代表的是字符串,因為中間有空格,如果沒有查詢到這種字體可能加載出來的就是亂碼,字體中\(zhòng)5b8b\4f53代表的"宋體"unicode碼,也是為了防止瀏覽器沒有查到中文的宋體,直接采用unicode碼比較靠譜。