CSS常見樣式(一)

1舶斧、塊級元素和行內(nèi)元素分別有哪些稻爬?它們的特性區(qū)別有哪些?

1桅锄、塊級元素(block element)竞滓,占據(jù)其父元素(容器)的整個空間商佑,因此創(chuàng)建了一個“塊”锯茄。通常瀏覽器會在塊級元素前后另起一行。能容納其他塊元素或者內(nèi)聯(lián)元素茶没。

常見的塊級元素有:

  • address - 地址
  • blockquote - 塊引用
  • center - 舉中對齊塊
  • dir - 目錄列表
  • div - 常用塊級容易肌幽,也是css layout的主要標簽
  • dl - 定義列表
  • fieldset - form控制組
  • form - 交互表單
  • h1 - 大標題
  • h2 - 副標題
  • h3 - 3級標題
  • h4 - 4級標題
  • h5 - 5級標題
  • h6 - 6級標題
  • hr - 水平分隔線
  • isindex - input prompt
  • menu - 菜單列表
  • noframes - frames可選內(nèi)容(對于不支持frame的瀏覽器顯示此區(qū)塊內(nèi)容)
  • noscript - 可選腳本內(nèi)容(對于不支持script的瀏覽器顯示此內(nèi)容)
  • ol - 排序列表
  • p - 段落
  • pre - 格式化文本
  • table - 表格
  • ul - 非排序列表

2、行內(nèi)元素(inline element)又稱內(nèi)聯(lián)元素抓半,只占據(jù)它對應(yīng)標簽的邊框所包含的空間喂急。只能容納文本或者其他內(nèi)聯(lián)元素。

常見的行內(nèi)元素有:

  • a - 錨點
  • abbr - 縮寫
  • acronym - 首字
  • b - 粗體(不推薦)
  • bdo - bidi override
  • big - 大字體
  • br - 換行
  • cite - 引用
  • code - 計算機代碼(在引用源碼的時候需要)
  • dfn - 定義字段
  • em - 強調(diào)
  • font - 字體設(shè)定(不推薦)
  • i - 斜體
  • img - 圖片
  • input - 輸入框
  • kbd - 定義鍵盤文本
  • label - 表格標簽
  • q - 短引用
  • s - 中劃線(不推薦)
  • samp - 定義范例計算機代碼
  • select - 項目選擇
  • small - 小字體文本
  • span - 常用內(nèi)聯(lián)容器笛求,定義文本內(nèi)區(qū)塊
  • strike - 中劃線
  • strong - 粗體強調(diào)
  • sub - 下標
  • sup - 上標
  • textarea - 多行文本輸入框
  • tt - 電傳文本
  • u - 下劃線
  • var - 定義變量

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

  • 塊級元素會獨占一行廊移,默認情況下糕簿,其寬度自動填滿其父元素寬度。行內(nèi)元素不會獨占一行,相鄰的行內(nèi)元素會排列在同一行里狡孔,直到一行排不下懂诗,才會換行,其寬度隨元素的內(nèi)容而變化。
  • 塊級元素可以設(shè)置width,height屬性苗膝,塊級元素即使設(shè)置了寬度,仍然是獨占一行殃恒。行內(nèi)元素設(shè)置width,height屬性無效辱揭,它的長度高度主要根據(jù)內(nèi)容決定离唐。
  • 塊級元素可以設(shè)置margin和padding屬性。行內(nèi)元素的margin和padding屬性问窃。水平方向的padding-left亥鬓,padding-right,margin-left域庇,margin- right都產(chǎn)生邊距效果贮竟,但豎直方向的padding-top,padding-bottom较剃,margin-top咕别,margin-bottom卻不會產(chǎn)生邊距效果。
  • 塊級元素對應(yīng)于display: block写穴。行內(nèi)元素對應(yīng)于display: inline惰拱。

補充:如果想讓一個元素可以設(shè)置寬度高度,又讓它以行內(nèi)形式顯示啊送,我們可以設(shè)置display的值為inline-block偿短。

2、什么是 CSS 繼承? 哪些屬性能繼承馋没,哪些不能昔逗?

1、css繼承:設(shè)置父級元素的樣式篷朵,其子級元素的樣式會和父級元素一樣勾怒;

2、不可繼承的屬性:
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。
可繼承的屬性:

  • 對于行內(nèi)元素谈飒,可繼承的屬性有: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。
  • 對于列表元素鲸阻,可繼承的屬性有:list-style跋涣、list-style-type缨睡、list-style-position、list-style-image陈辱。
  • 對于表格元素奖年,可繼承的屬性有:border-collapse。
  • 所有元素都可繼承得屬性有:visibility和cursor沛贪。

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

  • 讓塊級元素居中設(shè)置需要margin屬性:
    margin:0 auto利赋;//上下margin值隨意設(shè)置水评,左右margin值設(shè)置為auto
  • 讓行內(nèi)元素水平居中需要設(shè)置text-align屬性,text-align屬性是作用在塊級元素上讓里面的文本居中
    <div class='box'> 我要居中我要居中我要居中 </div> //若想要上面的文本居中媚送,對應(yīng)的CSS樣式因如下所示編寫 div{ text-align: center }

4中燥、文本溢出解決方法。

解決文本溢出問題塘偎,我們需要設(shè)置兩個屬性:

  • white-space: nowrap 疗涉,強制文本在一行內(nèi)顯示
  • overflow: hidden ,將溢出內(nèi)容改為隱藏
    { white-space: nowrap; overflow: hidden; }

補充:若想將溢出內(nèi)容顯示為省略標記......最后我們還需要設(shè)置text-overflow屬性:

  • text-overflow: ellipsis 吟秩,將文本溢出內(nèi)容顯示為省略標記
  • text-overflow: clip 咱扣, 把文本溢出的部分裁切掉
    { white-space: nowrap; overflow: hidden; text-overflow: ellipsis或clip }

5、px em rem有什么區(qū)別涵防?

1偏窝、px像素(Pixel)。相對長度單位武学。像素px是相對于顯示器屏幕分辨率而言的祭往。在Web頁面制作中,我們一般使用“px”來設(shè)置我們的文本火窒,因為他比較穩(wěn)定和精確硼补。但是這種方法存在一個問題,當用戶在瀏覽器中瀏覽我們制作的 Web頁面時熏矿,他改變了瀏覽器的字體大幸押А(雖然一般人不會去改變?yōu)g覽器字體大小)票编,這時會使用我們的Web頁面布局被打破褪储,這時就提出了使用“em”來定 義Web頁面的字體。

PX特點:

  • IE無法調(diào)整那些使用px作為單位的字體大谢塾颉鲤竹;
  • 國外的大部分網(wǎng)站能夠調(diào)整的原因在于其使用了em或rem作為字體單位;
  • Firefox能夠調(diào)整px和em昔榴,rem辛藻,但是96%以上的中國網(wǎng)民使用IE瀏覽器(或內(nèi)核)碘橘。

2、em是相對長度單位吱肌。相對于當前對象內(nèi)文本的字體尺寸痘拆。如當前對行內(nèi)文本的字體尺寸未被人為設(shè)置,則相對于瀏覽器的默認字體尺寸氮墨。一般都是以body的font-size為基準纺蛆。在使用“em”作單位時,一定需要知道其父元素的設(shè)置规揪,因為“em”就是一個相對值桥氏,而且是一個相對于父元素的值。
計算公式:1 ÷ 父元素的font-size × 需要轉(zhuǎn)換的像素值 = em值

EM特點:

  • em的值并不是固定的粒褒;
  • em會繼承父級元素的字體大小

注意:任意瀏覽器的默認字體高都是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ù)值腌歉。避免字體大小的重復聲明。
    也就是避免1.2 * 1.2= 1.44的現(xiàn)象齐苛。比如說你在#content中聲明了字體大小為1.2em翘盖,那么在聲明p的字體大小時就只能是1em,而不是1.2em, 因為此em非彼em凹蜂,它因繼承#content的字體高而變?yōu)榱?em=12px馍驯。

3、rem是CSS3新增的一個相對單位玛痊,是指根元素(root element汰瘫,html)的字體大小。這個單位與em的區(qū)別在于使用rem為元素設(shè)定字體大小時擂煞,仍然是相對大小混弥,但相對的只是HTML根元素。

比如默認的 html font-size=16px对省,那么我想設(shè)置12px 的文字就是:12÷16=0.75(rem)

為了方便計算剑逃,我們改變一下 html 的默認 font-size=10px

html{ font-size:62.5%; /* 10÷16=62.5% */ } body{ font-size:12px; font-size:1.2rem ; /* 12÷10=1.2 */ } p{ font-size:14px; font-size:1.4rem; }

需要注意的是浙宜,為了兼容不支持 rem 的瀏覽器,我們需要在 rem 前面寫上對應(yīng)的 px 值蛹磺,這樣不支持的瀏覽器可以優(yōu)雅降級粟瞬。其實不用太糾結(jié)是默認的 font-size:100%,還是設(shè)置為 font-size:62.5%萤捆,如果你引入 了 CSS 預處理工具那么自然可以使用默認值裙品,如果由于其他原因使用 font-size:62.5% 也無可厚非,完全可以在 body 中重置回你需要的默認 font-size俗或。

這個單位可謂集相對大小和絕對大小的優(yōu)點于一身市怎,通過它既可以做到只修改根元素就成比例地調(diào)整所有字體大小,又可以避免字體大小逐層復合的連鎖反應(yīng)辛慰。目前区匠,除了IE8及更早版本外,所有瀏覽器均已支持rem帅腌。

補充:

px 與 rem 的選擇:

  • 對于只需要適配少部分手機設(shè)備驰弄,且分辨率對頁面影響不大的,使用px即可 速客。
  • 對于需要適配各種移動設(shè)備戚篙,使用rem,例如只需要適配iPhone和iPad等分辨率差別比較挺大的設(shè)備溺职。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末岔擂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子浪耘,更是在濱河造成了極大的恐慌乱灵,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件七冲,死亡現(xiàn)場離奇詭異阔蛉,居然都是意外死亡,警方通過查閱死者的電腦和手機癞埠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門状原,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人苗踪,你說我怎么就攤上這事颠区。” “怎么了通铲?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵毕莱,是天一觀的道長。 經(jīng)常有香客問我,道長朋截,這世上最難降的妖魔是什么蛹稍? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮部服,結(jié)果婚禮上唆姐,老公的妹妹穿的比我還像新娘。我一直安慰自己廓八,他們只是感情好奉芦,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著剧蹂,像睡著了一般声功。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宠叼,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天先巴,我揣著相機與錄音,去河邊找鬼冒冬。 笑死伸蚯,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的窄驹。 我是一名探鬼主播朝卒,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼证逻,長吁一口氣:“原來是場噩夢啊……” “哼乐埠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起囚企,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤丈咐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后龙宏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棵逊,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年银酗,在試婚紗的時候發(fā)現(xiàn)自己被綠了辆影。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡黍特,死狀恐怖蛙讥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情灭衷,我是刑警寧澤次慢,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響迫像,放射性物質(zhì)發(fā)生泄漏劈愚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一闻妓、第九天 我趴在偏房一處隱蔽的房頂上張望菌羽。 院中可真熱鬧,春花似錦纷闺、人聲如沸算凿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽氓轰。三九已至,卻和暖如春浸卦,著一層夾襖步出監(jiān)牢的瞬間署鸡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工限嫌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留靴庆,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓怒医,卻偏偏與公主長得像炉抒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子稚叹,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案焰薄? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,748評論 1 92
  • 塊級元素和行內(nèi)元素分別有哪些? block-level div h1 h2 h3 h4 h5 h6 p hrfor...
    我要認真學前端閱讀 1,134評論 0 1
  • 一.塊級元素和行內(nèi)元素分別有哪些扒袖?動手測試并列出4條以上的特性區(qū)別 塊級元素: address - 地址 bloc...
    Sunset125閱讀 295評論 0 0
  • 1. 塊級元素和行內(nèi)元素分別有哪些塞茅?動手測試并列出4條以上的特性區(qū)別 答: (1)塊級元素含義:block ele...
    黃同學2019閱讀 762評論 0 1
  • 本理論并非科學成果,僅個人體悟季率。 鯨神鏈把戀愛分成感性為主和理性為主兩類野瘦。用更專業(yè)點的詞語來描述是本我戀愛(感性)...
    UMU閱讀 661評論 0 0