1.塊級元素和行內元素分別有哪些?動手測試并列出4條以上的特性區別
HTML將元素分類方式分為行內元素、塊狀元素和行內塊狀元素三種。首先需要說明的是,這三者是可以互相轉換的,使用display屬性能夠將三者任意轉換:
1.display:inline;轉換為行內元素。
2.display:block;轉換為塊狀元素。
3.display:inline-block;轉換為行內塊狀元素。
塊級元素:
div、p、h1~h6、ul、ol、dl、li、dd、table、hr、blockquote、address、table、menu、pre,HTML5新增的header、section、aside、footer等
行內元素:
span、img、a、lable、input、abbr(縮寫)、em(強調)、big、cite(引用)、i(斜體)、q(短引用)、textarea、select、small、sub、sup,strong、u(下劃線)、button(默認display:inline-block)
區別:
1.塊級可以包含塊級和行內,行內只能包含文本和行內
2.塊級占據一整行空間,行內占據自身寬度空間,所以多個行內元素可以并排排列
3.寬高的差異:寬高只對塊級元素設置生效,即可以設置width和height屬性。對行內元素設置無效。table元素瀏覽器默認的display屬性為table。
4.內外邊距的差異:對于塊級元素,可以設置margin,padding。
對于行內元素,padding的4個方向都有效,margin只有水平方向有效。對于padding會撐開邊框和背景色,但本身高度不會因此發生變化。
塊級行內元素
可以設置寬高,padding、margin都有效的行內元素就是塊級行內元素,textarea,img,input,select,button均為塊級行內元素。
2.什么是 CSS 繼承? 哪些屬性能繼承,哪些不能?
能繼承的屬性:color, font,
不能繼承的屬性:display ,border, margin, padding
3.如何讓塊級元素水平居中?如何讓行內元素水平居中?
對于塊級元素,左右margin設置為auto即可,一般我們習慣設置為 margin: 0 auto 可達到水平居中目的。
.box {
/* margin: 0 auto; 實際上是下面兩個起作用 */
margin-left: auto;
margin-right: auto;
}
對于行內元素,使用text-align:center;可達到居中目的
<style>
.box{
text-align: center;
}
</style>
<div class="box">

</div>
4.用 CSS 實現一個三角形
.t0{
height:0px;
width:0px;
border-top:solid 20px transparent;
border-left:solid 20px green;
border-right:solid 20px transparent;
border-bottom:solid 20px transparent;
}
5.單行文本溢出加 ...如何實現?
.card > h3{
white-space: nowrap; /*white-space處理空白字符or換行,nowrap表示不換航 */
overflow: hidden;/*溢出之后就隱藏*/
text-overflow: ellipsis;/*文本溢出之后就變為三個點*/
}
6.px, em, rem 有什么區別
px:固定單位
em: 相對單位,相對于父元素字體大小
rem: 相對單位,相對于根元素(html)字體大小font
7.解釋下面代碼的作用?為什么要加引號? 字體里\5b8b\4f53代表什么?
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
- 作用:該段代碼設置了body的font樣式,字體大小為12px,行高是字體1.5倍的像素值,后面則是第一到第五字體的選用,如果用戶瀏覽第一字體沒有,則查詢第二字體有沒有,以此類推,如果都沒有則采用系統默認字體;
- 加引號原因:因為中間有空格,不加引號會被識別成兩個元素。
- 字體里\5b8b\4f53代表:數字符號表示的字體的Unicode碼。