前端新手常見問題(五)-CSS常見樣式1

塊級元素和行內(nèi)元素分別有哪些?

block-level

div h1 h2 h3 h4 h5 h6 p hrform ul dl ol pre table li dd dt tr td th

inline-level

em strong span a br img button iput label select textareacode script

?塊級元素下特點:

①總是在新行上開始,占據(jù)一整行;
②高度,行高以及外邊距和內(nèi)邊距都可控制;
③寬帶始終是與瀏覽器寬度一樣,與內(nèi)容無關(guān);
④它可以容納內(nèi)聯(lián)元素和其他塊元素。

行內(nèi)元素特點:

①和其他元素都在一行上;
②高,行高及外邊距和內(nèi)邊距部分可改變;
③寬度只與內(nèi)容有關(guān);
④行內(nèi)元素只能容納文本或者其他行內(nèi)元素。 不可以設(shè)置寬高,其寬度隨著內(nèi)容增加,高度隨字體大小而改變,內(nèi)聯(lián)元素可以設(shè)置外邊界,但是外邊界不對上下起作用,只能對左右起作用,也可以設(shè)置內(nèi)邊界,但是內(nèi)邊界在ie6中不對上下起作用,只能對左右起作用

塊級元素與行內(nèi)元素的特性區(qū)別:

塊級可以包含塊級和行內(nèi),行內(nèi)只能包含文本和行內(nèi)
塊級占據(jù)一整行空間,行內(nèi)占據(jù)自身寬度空間
寬高設(shè)置、內(nèi)外邊距的差異:寬高設(shè)置只對塊級元素設(shè)置生效,對行內(nèi)元素設(shè)置無效

什么是 CSS 繼承? 哪些屬性能繼承,哪些不能?

CSS 繼承

css的一個主要特征就是繼承,它是依賴于祖先-后代的關(guān)系的。繼承是一種機(jī)制,它允許樣式不僅可以應(yīng)用于某個特定的元素,還可以應(yīng)用于它的后代。例如一個body定義了的顏色值也會應(yīng)用到段落的文本中。
多數(shù)邊框類屬性,比如象padding(補白),margin(邊界),背景和邊框的屬性都是不能繼承的。
不可繼承的: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。
所有元素可繼承:visibility和cursor。
內(nèi)聯(lián)元素可繼承: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。
終端塊狀元素可繼承:text-indent和text-align。
列表元素可繼承:list-style、list-style-type、list-style-position、list-style-image。
表格元素可繼承:border-collapse。

如何讓塊級元素水平居中?如何讓行內(nèi)元素水平居中?

CSS設(shè)置行內(nèi)元素的水平居中
div{text-align:center} /DIV內(nèi)的行內(nèi)元素均會水平居中/

CSS設(shè)置行內(nèi)元素的垂直居中
div{height:30px; line-height:30px} DIV內(nèi)的行內(nèi)元素均會垂直居中

PS:當(dāng)然,如果既要水平居中又要垂直居中,那么綜合一下
div{text-align:center; height:30px; line-height:30px}

CSS設(shè)置塊級元素的水平居中
div p{margin:0 auto; width:500px} 塊級元素p一定要設(shè)置寬度,
才能相當(dāng)于DIV父容器水平居中

CSS設(shè)置塊級元素的垂直居中
div{width:500px} DIV父容器設(shè)置寬度
div p{margin:0 aut0; height:30px; line-height:30px} 塊級元素p也可以加個寬度,
以達(dá)到相對于DIV父容器的水平居中效果

單行文本溢出加 ...如何實現(xiàn)?

{width:xxpx;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}

1、單行溢出,超出部分顯示...或者截取。前提必須有寬度。

CSS:{width:xxpx;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;},截取為clip;
實現(xiàn)代碼:
width:300px;
overflow: hidden;
text-overflow:ellipsis;
whitewhite-space: nowrap;

2、多行溢出

{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
實現(xiàn)方法:
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;

px, em, rem 有什么區(qū)別

PX

px像素(Pixel)。相對長度單位。像素px是相對于顯示器屏幕分辨率而言的。

PX特點

1、IE無法調(diào)整那些使用px作為單位的字體大?。?br> 2、國外的大部分網(wǎng)站能夠調(diào)整的原因在于其使用了em或rem作為字體單位;
3、Firefox能夠調(diào)整px和em,rem,但是96%以上的中國網(wǎng)民使用IE瀏覽器(或內(nèi)核)。

EM

em是相對長度單位。相對于當(dāng)前對象內(nèi)文本的字體尺寸。如當(dāng)前對行內(nèi)文本的字體尺寸未被人為設(shè)置,則相對于瀏覽器的默認(rèn)字體尺寸。

EM特點

1、em的值并不是固定的;
2、em會繼承父級元素的字體大小。
注意:任意瀏覽器的默認(rèn)字體高都是16px。所有未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。為了簡化font-size的換算,需要在css中的body選擇器中聲明Font-size=62.5%,這就使em值變?yōu)?16px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只需要將你的原來的px數(shù)值除以10,然后換上em作為單位就行了。
所以我們在寫CSS的時候,需要注意:

  1. body選擇器中聲明Font-size=62.5%;
  2. 將你的原來的px數(shù)值除以10,然后換上em作為單位;
  3. 重新計算那些被放大的字體的em數(shù)值。避免字體大小的重復(fù)聲明。
    也就是避免1.2 * 1.2= 1.44的現(xiàn)象。比如說你在#content中聲明了字體大小為1.2em,那么在聲明p的字體大小時就只能是1em,而不是1.2em, 因為此em非彼em,它因繼承#content的字體高而變?yōu)榱?em=12px。

REM

rem是CSS3新增的一個相對單位(root em,根em),這個單位引起了廣泛關(guān)注。這個單位與em有什么區(qū)別呢?區(qū)別在于使用rem為元素設(shè)定字體大小時,仍然是相對大小,但相對的只是HTML根元素。這個單位可謂集相對大小和絕對大小的優(yōu)點于一身,通過它既可以做到只修改根元素就成比例地調(diào)整所有字體大小,又可以避免字體大小逐層復(fù)合的連鎖反應(yīng)。目前,除了IE8及更早版本外,所有瀏覽器均已支持rem。對于不支持它的瀏覽器,應(yīng)對方法也很簡單,就是多寫一個絕對單位的聲明。這些瀏覽器會忽略用rem設(shè)定的字體大小。下面就是一個例子:
p {font-size:14px; font-size:.875rem;}
注意: 選擇使用什么字體單位主要由你的項目來決定,如果你的用戶群都使用最新版的瀏覽器,那推薦使用rem,如果要考慮兼容性,那就使用px,或者兩者同時使用。

px 與 rem 的選擇?

對于只需要適配少部分手機(jī)設(shè)備,且分辨率對頁面影響不大的,使用px即可 。
對于需要適配各種移動設(shè)備,使用rem,例如只需要適配iPhone和iPad等分辨率差別比較挺大的設(shè)備。

解釋下面代碼的作用?為什么要加引號? 字體里\5b8b\4f53代表什么?

body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
1、上面代碼的作用是設(shè)置body里面文字內(nèi)容的字體大小,行高,字體樣式。
2、加引號是因為有空格,如果不加dom解析,會根據(jù)空格解析成兩個元素。
3、字體里\5b8b\4f53代表Unicode值。代表宋體。

CSS字體屬性;

font-family:\5B8B\4F53,Arial Narrow,arial,serif;

首先,用的最多的是font-family,這是個具有綜合屬性的CSS 屬性。一般,在css 文件一開始就會設(shè)置 font-family。\5B8B\4F53實際上就是宋體,或者你也可以寫成 simsun,建議不要寫成漢字體,那樣會有錯誤。

字體名稱屬性(font-family)

這個屬性設(shè)定字體名稱,如Arial, Tahoma, Courier等。例句如下:
font-family:Arial

字體大小屬性(font-size)

這個屬性可以設(shè)置字體的大小。字 體大小的設(shè)置可以有多種方式,最常用的就是pt和px(pixel)。例句如下:
font-size:16pt

字體風(fēng)格屬性(font-style)

這個屬性有三個值可 選:normal, italic, oblique。normal是缺省值,italic, oblique都是斜體顯示。例句如下:
font-sytle:italic

字體濃淡屬性(font-weight)

這個屬性常用值是 normal和bold,normal是缺省值。例句如下:
<p style = "font-weight:bold">這段文字字體的濃淡屬性(font-weight)值是bold。<p>

字體變量屬性(font-variant)

這個屬性有兩個 值,normal和small-caps,normal是缺省值。small-caps表示小的大寫字體。例句如下:
font-variant:small-caps

字體屬性(font)

這個屬性是各種字體屬性的一種快捷的綜合寫法。 這個屬性可以綜合字體風(fēng)格屬性(font-style),字體變量屬性(font-variant),字體濃淡屬性(font-weight),字體大小 屬性(font-size)等屬性。例句如下:
font:italic normal bold 11pt arial

字體顏色(color)

字體顏色用CSS中的color屬性來表示。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容