整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          CSS 偽元素:用來創建文檔樹之外的抽象元素

          CSS 偽元素:用來創建文檔樹之外的抽象元素

          么是偽元素

          讓我們先看看W3的偽元素官方定義:

          偽元素用來創建HTML文檔語言指定之外文檔樹的抽象層。比如HTML沒有提供文檔元素內容的首字母或第一行的訪問機制。CSS偽元素允許作者引用這些除此之外無法訪問的信息。偽元素還提供一種方法來引用不存在于文檔中的內容。(比如,::before 和 ::after )。

          一個偽元素由2個冒號(::)加上偽元素的名字所定義。

          :: 標記是CSS2.1新規范中引入的,用來區分偽類(pseudo-classes)和偽元素(pseudo-elements)。但出于現有樣式表兼容性原因,用戶代理必須也能支持CSS1和CSS2中引入的單冒號偽元素標記(也就是說,:first-line, :first-letter, :before 和 :after)。但是CSS2.1及以后版本新引入的偽元素不支持這種兼容語法。

          每個選擇器中只能出現一個偽元素,并且只能出現在選擇器主體的后面。

          注意:后續版本可能會允許每個選擇器中出現多個偽元素。

          從上面的定義,我們可以得知偽元素事實上創建了一個虛擬的元素,在這個虛擬元素上可以應用一般CSS規則乃至偽類選擇器。偽元素并不選定(過濾)元素,實際上它們選定(過濾)內容(::first-line,::first-letter)或創建內容(::before,::after,然后包裝到一個虛擬容器中,作者可以為此容器添加樣式。

          盡管理論上使用JavaScript也可以獲取第一行文本或第一個字母,但這高度依賴于當前使用的字體家族、字體大小、元素寬度,浮動元素等各種因素,顯得相當繁瑣。而通過CSS偽元素我們可以方便獲得。文章最后提供了示例的訪問地址。

          偽元素的實例

          例1 - 使用偽元素給文字自動添加語言說明后綴

          CSS代碼如下:

          div:lang(zh){color:lime;background:#ff0;}

          :lang(en) > span{color:#3111d3;}

          HTML代碼如下:

          效果圖如下:

          • 本例使用偽類:lang來過濾lang屬性為特定值(如en-us)的元素。

          • 使用偽元素::after來給元素(文本)自動添加語言說明后綴。

          通過本例,可以對偽類和偽元素的不同作用有個直觀的認識。

          例2 - 使用偽元素實現首行著色和段落投影

          CSS代碼如下:

          HTML代碼如下:

          效果圖如下:

          • 本例使用偽類:lang來過濾lang屬性為特定值(如en-us)的元素。

          • 使用偽元素::after來給元素(文本)自動添加語言說明后綴。

          例3 - 使用偽元素實現圓環圖形

          CSS代碼如下:

          HTML代碼比較簡單,就一行即可,如下:

          <div class="circle"></div>

          效果圖如下:

          注:偽元素默認是inline樣式的,通過設置成絕對定位,可強制改變display為block,這樣對其設置寬高才能生效。

          本例使用偽類:after來實現內圓。

          偽類和偽元素的區別

          本頭條號前面一篇文章《CSS 偽類:用來增強CSS選擇器》和本篇文章內容分別講述了偽類和偽元素的使用,我們應該已經大致理解了兩者的異同點,這里再總結一下:

          兩者都不存在于HTML文檔樹中,都是為了支持依靠文檔樹之外的信息來進行格式化。

          出于歷史兼容性原因,一些在CSS2.1規范之前引入的偽元素使用和偽類一樣的語法標記(單冒號:)。

          偽類本質上和類相同,是用來選擇過濾HTML元素的。只不過偽類是按動態特征過濾,而不是名稱、屬性或內容。

          偽元素本質上和元素相同,是已有元素的某個部分或新創建的補充元素。偽元素上可以應用偽類選擇器來過濾。

          偽類可以出現在選擇器的任何地方,而偽元素只能添加在最后一個簡單選擇器之后。

          附:本文示例的網址:http://www.ikinsoft.com/3ddemo/pseudoelem.html

          unction toNodeTree(objects, rootId) {

          let nodes=[];

          for (let object of objects) {

          if (object.parentId===rootId) {

          for (let leaf of objects) {

          if (leaf.parentId===object.id) {

          object.children=toNodeTree(objects, object.id);

          break;

          }

          }

          nodes.push(object);

          }

          }

          return nodes;

          }


          及時解決工作難點,提高工作效率,排除工作困擾,提供信手拈來的精要代碼。

          文轉載自公眾號“把科學帶回家”(ID:steamforkids)



          撰文 | 阿嫻
          審校|Ziv
          在我們廣袤的地球上,大約有“三兆”棵樹,精確來說是3 040 000 000 000棵,比地球上所有的人加起來都多。而在這些樹中,一些長壽的樹木竟然能活上千年之久。最古老的樹是什么樣子的?和現在我們看到的樹的形態有什么區別嗎?

          老吉科樹是世界上最古老的挪威云杉,生長在瑞典的菲呂山上。它的根系已有9565歲,但是新生的樹干卻非常年輕,只活了幾百年。|wiki

          這個問題困擾科學家很多年了,因為現有的化石記錄中,樹木通常只會保留樹干,無法保留葉子,因而無法顯示樹冠和樹的整體形狀可能是什么樣子。
          不過近期(2024年2月2日),Current Biology發表了一篇題為“Enigmatic fossil plants with three-dimensional, arborescent-growth architecture from the earliest Carboniferous of New Brunswick, Canada”的論文,該文章詳細描述了研究人員在加拿大新不倫瑞克省的一個采石場中發現的5塊被3.5億年前的地震活埋的樹木化石,這些化石上保留著清晰可見的樹枝和冠葉,還具有令人驚訝且獨特的三維樹冠形狀。

          這塊樹木化石被包裹在一塊砂巖巨石中,約有一輛小汽車那么大。|參考文獻3
          研究人員指出,其3D樹冠結構可以讓人們了解樹冠在樹木進化早期的樣子。該研究的主要作者、緬因州沃特維爾科爾比學院(Colby College)地質學教授羅伯特·加斯塔爾多(Robert Gastaldo)說,大多數古樹標本都相對較小,并且通常以帶有樹樁或根系的化石樹干的形式被發現。當他和同事們發現一棵保存完好的樹木化石,并粗略估算該樹成熟時可能有4.5米高,樹冠直徑為5.5米時,他們都“目瞪口呆”了。
          目前還沒有足夠的證據來確定這棵樹是否屬于蕨類植物,或者地球歷史上其他未知的植物家族。所以研究人員選擇將它命名為“Sanfordiacaulis densifolia”,屬名源自勞里·桑福德(Laurie Sanford),她是出土該樹木化石的采石場的所有者;其具體名稱densifolia則源自葉子的密集排列。

          生長于大約 3.5 億年前,有一個細長的樹干,頂部有許多長葉子。|參考文獻6

          研究人員認為這個3.5億年前植物的形態,看起來有點像現代的蕨類植物或棕櫚樹,不過,我們所知的蕨類植物或棕櫚樹的頂部葉子都很少,比如樹蕨(Alsophila spinulosa)的樹冠上一般有15~20片葉子,它的巨大葉片螺旋排列于樹干頂端,像一把綠色的大傘。棕櫚樹也有類似數量的葉子。當一片或多片葉子停止光合作用時,它們要么從樹干上脫落,要么以“裙子”的方式環繞在樹干上,免受大型附生植物、半附生植物和攀緣植物的損害
          而新發現的化石中,最完整的標本的樹干周圍有250多片葉子,擁擠不堪,每片葉子都支棱著向外延伸,大約1.7米,環繞著直徑只有16厘米的樹干

          枯葉向下翻折,就變成了樹的“裙子”。|參考資料5

          加斯塔爾多說,對于普通公眾來說,這棵名為Sanfordiacaulis densifolia的樹可能看起來像一個非常龐大的“家用馬桶刷”
          這棵樹之所以長成這種模樣,和它的較小體形和生活時期有關。Sanfordiacaulis densifolia生長在亞冠層(也就是地面植物和較高樹木之間),所處的位置非常尷尬。為了最大程度地吸收光線,并減少與地面上其他植物的競爭,它需要濃密排列葉片,并橫向延伸出去。

          該圖像顯示了該樹之前和之后發現的不同植物化石的樹高。|參考資料6

          其次,地球上第一批樹木被認為出現在泥盆紀(約4.19億至3.59億年前),而Sanfordiacaulis densifolia可以追溯到石炭紀(約3.59億至2.99億年前)——也就是第一批樹木出現的后期。這一時期的植物生命比預期的更加復雜,因為那時候的植物正在“實驗”各種生長的可能形式或結構,很顯然這種“馬桶刷”結構并沒有機會持續下去。
          那么,這塊化石為什么能保存的如此完好?研究人員認為,這塊化石所在的砂巖來自一個非常長的古老湖泊的底部,該湖泊非常深,湖中發生了災難性的地震,引發了山體滑坡,繼而使其保存了下來?!?strong>地震發生時這些樹還活著,它們很快就被埋在湖底,”新不倫瑞克博物館地質學和古生物學助理館長史汀生說。

          桑福德采石場周圍暴露的上泥盆統-下石炭統地層地質圖。|參考資料6
          賓夕法尼亞州立大學地球科學教授兼古植物學家彼得·威爾夫(Peter Wilf)表示,發現完整的樹木化石非常罕見,而且比發現完整的恐龍化石要難得多。它提醒著我們,在地球生命的歷史上,曾經存在過一些看起來與我們見過的樹木完全不同的樹木。
          對過去和未來的想象不妨再大膽一點!!

          參考資料:

          [1]https://www.science.org/content/article/rare-fossil-reveals-glimpse-early-weird-looking-trees

          [2]https://www.sciencedaily.com/releases/2024/02/240202114758.htm
          [3]https://www.sci.news/paleontology/sanfordiacaulis-densifolia-12656.html
          [4]https://www.sci.news/paleontology/sanfordiacaulis-densifolia-12656.html
          [5]https://www.researchgate.net/figure/Seedling-of-Coprosma-autumnalis-Rubiaceae-growing-from-beneath-the-dense-skirt-of-a-25_fig1_350187729
          [6]https://www.cell.com/current-biology/fulltext/S0960-9822(24)00011-3

          轉載內容僅代表作者觀點

          不代表中科院地質地球所立場

          如需轉載請聯系原公眾號


          主站蜘蛛池模板: 无码国产精品一区二区高潮| 久久久久人妻一区二区三区| 日本高清不卡一区| 亚洲字幕AV一区二区三区四区| 国产成人一区二区三区在线| 国产视频一区二区在线观看| 人妻无码第一区二区三区| 亚洲一区二区女搞男| 日韩精品电影一区亚洲| 色一情一乱一伦一区二区三欧美| 精品一区二区三区免费毛片爱 | 国产精品一区二区四区| 亚洲美女一区二区三区| 无码少妇一区二区| 无码精品一区二区三区在线| 国产色情一区二区三区在线播放 | 日韩久久精品一区二区三区| 中文字幕一区二区三区人妻少妇| 久久久av波多野一区二区| 亚洲一区二区三区AV无码| 精品一区二区久久| 日韩人妻不卡一区二区三区| 中文字幕亚洲综合精品一区| 日本午夜精品一区二区三区电影| 一区二区三区四区视频| 成人免费观看一区二区| 无码精品一区二区三区| 久久久久久人妻一区二区三区| 午夜视频一区二区| 日本一区二区三区精品国产| 精品一区二区三区四区在线| 国模无码人体一区二区| 色欲精品国产一区二区三区AV| 日本片免费观看一区二区| 国产午夜精品片一区二区三区| 在线观看中文字幕一区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 中文字幕一区二区三区5566| 国产美女一区二区三区| 日韩成人一区ftp在线播放| 国产成人精品一区二三区在线观看|