一,塊級元素和行內元素分別有哪些?動手測試并列出4條以上的特性區(qū)別
塊級元素(block-level element)
div h1 h2h h3 h4 h5 h6 p hr
form ul dl ol pre table
li dd dt tr td th行內元素(inline-level element)
em strong span a br img
button input label select textarea
code script
-區(qū)別
- 塊級可以包含塊級和行內元素,行內只能包含文本和行內
- 塊級占據(jù)一整行空間,行內占據(jù)自身寬度空間
- 寬高只對塊級元素設置生效,對行內樣式不起作用
- 對于塊級元素來說,可以給其設置margin,padding,而對于行內元素來說,對于margin-top,margin-bottom,padding-top,padding-bottom是不生效的,只有左右外內邊距才生效。
二,什么是 CSS 繼承? 哪些屬性能繼承,哪些不能?
css繼承
css繼承就是子標簽繼承了上級標簽的css樣式的屬性能繼承的屬性
color font-size font-family font-weight line-height list-style text-indent text-align text-transform letter-spacing不能繼承的屬性
display border margin 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
三,如何讓塊級元素水平居中?如何讓行內元素水平居中?
塊級元素居中
margin: 0 auto;行內元素居中
給包含行內元素的塊級元素應用text-align,例如
<style type="text/css">
.box{
text-align: center;
}
</style>
<div class="box">
<span>hello deejay!</span>
</div>
四,用 CSS 實現(xiàn)一個三角形
<style type="text/css">
.box{
width: 0;
height: 0;
border-top: 30px solid red;
border-right: 30px solid transparent;
border-bottom: 30px solid transparent;
border-left: 30px solid transparent;
}
</style>
<div class="box"></div>
將width和height設為0,利用border來實現(xiàn)

五,單行文本溢出加 ...如何實現(xiàn)?
.box{
white-space: nowrap; /*不折行*/
overflow: hidden; /*超出部分隱藏*/
text-overflow: ellipsis; /*文本溢出之后用...代替*/
}
六,px, em, rem 有什么區(qū)別
px:固定單位
em:相對單位,相對于父元素字體大小
rem:相對單位, 相對于根元素(html)字體大小
<style type="text/css">
.em span{
font-size: 2em;
}
.rem span{
font-size: 2rem;
}
</style>
<div class="em">
<span>deejay</span>
</div>
<div class="rem">
<span>deejay</span>
</div>
對于.em>span來說,他的父元素為.em的div,默認字體大小為16px,給其設置2em,則現(xiàn)在大小為32px,當父元素大小改變時也會相應的改變。
對于.rem>span,由于其是相對于html的,所以不會產(chǎn)生變化。
七,解釋下面代碼的作用?為什么要加引號? 字體里\5b8b\4f53代表什么?
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
使用瀏覽器打開頁面時,會讀取HTML文件進行解碼渲染,當讀到文字時會轉換成對應的unicode碼,然后根據(jù)HTML文件中的設置的font-family去查找對應的字體文件。找到文件之后依據(jù)unicode碼去查找繪制外形到頁面上。
在CSS中設置字體時,直接寫字體中文或英文名稱瀏覽器都能識別,直接寫中文的時候編碼不匹配的時候會產(chǎn)生亂碼。所以為了保險起見,我們將字體名稱用Unicode碼來表示。
上述代碼中,加引號的作用是因為所選字體之間有空格,不加的話會被當成多個對象。
\5b8b\4f53代表的是“宋”和“體”。