搜尋
首頁web前端css教學CSS的inherit與auto

CSS的inherit與auto

Feb 10, 2017 pm 04:21 PM

一個很顯淺的寓言,千禧年老樹,電打雷劈,屹立不倒,卻毀於螻蟻的侵襲之下。自以為精通CSS的人,常常被一些小問題搞到頭暈腦脹。通常是一個很小的數值,經過層層放大扭曲後,整個佈局就走形了。 CSS是一門很簡單的語言,易學易用,但也最容易出垃圾程式碼。這是沒有深入研究這門語言所致。本人認為,CSS是由以下三大塊構成的:預設值,繼承系統與加權系統。預設值,也就是瀏覽器在使用者沒有設定屬性的情況下,預設指定的屬性。 CSS框架基本上都有一個叫reset.css 的文件,就是對其進行重設,消除各瀏覽器的差異的。繼承系統就是下面要重點討論的東西。加權系統,也就是優先順序的問題,不在本文的討論範疇,不說了。

在CSS中,許多屬性都是可以繼承的,如某個段落的字體設定為白色,其元素的字體不用設定或設定為inhert,它就是白色。這些屬性稱為inherited property,它會從父元素取得對應屬性的經過計算與轉換的值(computed value),如果父元素和它的情形一樣,它就繼續往上找,最後沒有就使用瀏覽器的預設值。

下面是inherited properties的一覽表:

  • border-collapse

  • border-spacing

  • caption-side

  • color

  • cursor

  • direction

  • empty -cells

  • font

  • font-family

  • font-stretch

  • font-size

    font-stretch
  • font-size
  • font-strp
  • font-style

  • font- variant

  • font-weight

  • letter-spacing

  • line-height

  • -glist -image
  • list-style -type
  • quotes
  • text-align
  • text-indent
  • http:// www.php.cn/
  • 我們為父元素設定了字體的樣式,沒有設定子元素的,當取出子元素的時,發現其值轉換為rgb格式(當然IE除外啦!)
  • 不過,在IE7及其之前的版本,是不支援用inhert來設定direction與visibility以外的樣式屬性。具體可參考這裡與這裡

    在IE8中,原本是inherited property的text-align在th中失效。
 
                               
RubyRouvre
By司徒正美
 
  table, tr, td, th {
    border-collapse: collapse;
    border: 1px solid #000;
  }
  table {
    text-align: right;
  } 
  td, th {
    width: 100px;
  }
  • 本來th應該會從table中繼承文本向右對齊的設置,但失效了…

  • 解決IE8這個弱智Bug也很容易,就是顯式地設置inhert。

     
      table, tr, td, th {
        border-collapse: collapse;
        border: 1px solid #000;
      }
      table {
        text-align: right;
      }
      td, th {
        width: 100px;
      }
      th {
        text-align: inherit;
      }
  • 此外還有一些CSS屬性是不能繼承的,最經典如border系列。它被稱為non-inherited property,如果我們不為它設置,我們只能取得瀏覽器的預設值,預設值在火狐中稱為 initial value 。一個相關的好消息是,預設值在火狐也可以指定了,這樣我們就不用reset樣式了!

    下面是non-inherited property的一覽表:

    background

    border

    float

    height

    • left

    • margin

    • outline

    • overflow

    • padding

      top
    • visibility
    • width
    • z-index
    • 我們為父元素設定了背景顏色,沒有設定子元素的,這時會取得瀏覽器的預設值transparent(W3C那一方好像只要是顏色都會轉換為rgb格式,多出的a為Alpha)

      接著我們來看auto,這是一個含糊不清但是有長度概念的值。適用於以下屬性:
    • overflow
    • cursor
    • height
    • margin-* (left|bottom|top |right|start|end)

    • top

    • bottom

    • left

    • -

    -moz-column- width

    languages
    • 在區塊級元素的可度量的屬性中(如width,height),如果不設定值,其預設值是auto,但它很容易會被父級元素的值覆蓋,也就是隱式地成為了inhert了。在內聯元素中,由於不具備盒子模型,如果不設置,就算是火狐也原本奉還它,這對於精確計算元素的寬度與高度是非常不利的。 auto還有對稱性,這個在居中佈局我們常常運用到它。在非度量的屬性中,如overflow,就要具體情況具體分析了。
    • 更多CSS的inherit與auto 相關文章請關注PHP中文網!

    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    每周平台新聞:Galaxy Store的Web應用程序,Tappable Stories,CSS Subgrid每周平台新聞:Galaxy Store的Web應用程序,Tappable Stories,CSS SubgridApr 14, 2025 am 11:20 AM

    在本週的綜述中:Firefox獲得了類似鎖匠的力量,三星的Galaxy Store開始支持Progressive Web Apps,CSS Subgrid正在Firefox發貨

    每周平台新聞:Internet Explorer模式,搜索控制台中的速度報告,限制通知提示每周平台新聞:Internet Explorer模式,搜索控制台中的速度報告,限制通知提示Apr 14, 2025 am 11:15 AM

    在本週的綜述中:Internet Explorer進入Edge,Google搜索控制台吹捧新的速度報告,而Firefox給出了Facebook' s Notification

    CSS自定義屬性的範圍的功率(和樂趣)CSS自定義屬性的範圍的功率(和樂趣)Apr 14, 2025 am 11:11 AM

    您可能至少已經對CSS變量有點熟悉了。如果沒有,這是兩秒鐘的概述:它們真的稱為自定義屬性

    我們是程序員我們是程序員Apr 14, 2025 am 11:04 AM

    構建網站正在編程。編寫HTML和CSS正在編程。我是程序員,如果您在這裡閱讀CSS-Tricks,那麼您很有可能是您

    您如何從網站上刪除未使用的CSS?您如何從網站上刪除未使用的CSS?Apr 14, 2025 am 10:59 AM

    在這裡,我想預先知道的是:這是一個很難的問題。如果您降落在這裡,因為您希望指向您可以運行的工具

    圖片中的圖片網絡API簡介圖片中的圖片網絡API簡介Apr 14, 2025 am 10:57 AM

    圖片中的圖片在2016年發行了Macos Sierra,在Safari瀏覽器中首次出現在網絡上。這使用戶可以彈出

    使用Gatsby組織和準備圖像以使圖像模糊效果的方法使用Gatsby組織和準備圖像以使圖像模糊效果的方法Apr 14, 2025 am 10:56 AM

    蓋茨比(Gatsby)進行了出色的處理和處理圖像。例如,它可以幫助您節省圖像優化的時間,因為您不必手動

    哦,嘿,填充百分比基於父元素的寬度哦,嘿,填充百分比基於父元素的寬度Apr 14, 2025 am 10:55 AM

    今天,我學到了一些有關基於百分比的(%)填充的知識,我腦海中完全錯了!我一直認為百分比填充是基於

    See all articles

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    AI Hentai Generator

    AI Hentai Generator

    免費產生 AI 無盡。

    熱門文章

    R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
    4 週前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳圖形設置
    4 週前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.如果您聽不到任何人,如何修復音頻
    4 週前By尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25:如何解鎖Myrise中的所有內容
    1 個月前By尊渡假赌尊渡假赌尊渡假赌

    熱工具

    Safe Exam Browser

    Safe Exam Browser

    Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

    EditPlus 中文破解版

    EditPlus 中文破解版

    體積小,語法高亮,不支援程式碼提示功能

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網頁開發工具

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    將Eclipse與SAP NetWeaver應用伺服器整合。