1. 塊級(jí)元素和行內(nèi)元素分別有哪些?動(dòng)手測(cè)試并列出4條以上的特性區(qū)別
塊級(jí)元素(block-level)
div h1 h2 h3 h4 h5 h6 p hr form ul dl ol pre table li dd dt tr td th
行內(nèi)元素(inline-level)
em strong span a br img button input label select textarea code script kbd
區(qū)別
- 塊級(jí)元素默認(rèn)會(huì)占據(jù)一整行,默認(rèn)情況下其寬度自動(dòng)填滿父元素的寬度;
行內(nèi)元素不會(huì)獨(dú)占一行,相鄰的行內(nèi)元素會(huì)排列在同一行知道排不下為止。 - 塊級(jí)元素可以包含塊級(jí)元素和行內(nèi)元素,行內(nèi)元素只能包含行內(nèi)元素和文本
- 塊級(jí)元素可以設(shè)置width和height,行內(nèi)元素設(shè)置無(wú)效。
- 塊級(jí)元素默認(rèn):display:block;行內(nèi)元素默認(rèn):dipslay:inline;
- 對(duì)于margin和padding屬性,塊級(jí)元素會(huì)產(chǎn)生上下左右的內(nèi)外邊距效果。行內(nèi)元素左右會(huì)產(chǎn)生邊距效果,上下不會(huì)產(chǎn)生。
2. 什么是 CSS 繼承? 哪些屬性能繼承,哪些不能?
CSS繼承:繼承就是子標(biāo)簽繼承了上級(jí)標(biāo)簽的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. 如何讓塊級(jí)元素水平居中?如何讓行內(nèi)元素水平居中?
- 塊級(jí)元素水平居中:先設(shè)置塊級(jí)元素的寬度,然后用margin: 0 auto水平居中;
- 行內(nèi)元素水平居中:1. 先用display:block將行內(nèi)元素轉(zhuǎn)換為塊級(jí)元素,然后設(shè)置元素的寬度,再用margin: 0 auto控制水平居中。或者用text-align: center;
4. 用 CSS 實(shí)現(xiàn)一個(gè)三角形
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>triangle</title>
</head>
<body>
<div class="triangle">
</div>
</body>
<style>
.triangle
{
width:0;
height:0;
border-top:20px solid transparent;
border-bottom:20px solid red;
border-right:20px solid transparent;
border-left:20px solid transparent;
}
</style>
</html>
5. 單行文本溢出加 ...如何實(shí)現(xiàn)?
在相應(yīng)的文字上,加如下樣式
.card > h3{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
6. px, em, rem 有什么區(qū)別
- px: 絕對(duì)/固定單位,瀏覽器默認(rèn)文字大小為16px ;
- em: 相對(duì)單位,表示當(dāng)前字體大小是父容器字體大小的多少倍;
- rem:相對(duì)單位,表示當(dāng)前字體大小是根元素(html)字體大小的多少倍 ;
7. 解釋下面代碼的作用?為什么要加引號(hào)? 字體里\5b8b\4f53代表什么?
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
- Hiragino Sans GB之間有空格,所有要加上引號(hào),避免被瀏覽器讀取為多個(gè)字體名稱
- 代碼設(shè)置了body里面的字體樣式,字體大小12px,字體行高為字體的1.5倍,然后設(shè)置了5種字體,按先后順序匹配已有的字體來使用。
- 字體里\5b8b\4f53代表宋體,是把中文的“宋體”轉(zhuǎn)化為了Unicode編碼。