成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

為什么CSS4還沒被應(yīng)用于網(wǎng)站建設(shè)?

2022-05-24    分類: 網(wǎng)站建設(shè)

最近,已經(jīng)有一些關(guān)于是否應(yīng)該像定義的CSS“下一個版本”CSS4的討論。在本文中,我們將討論此問題,為CSS創(chuàng)建新功能版本的利弊,以及確定新功能版本的潛在問題。

CSS4的問題

最近在網(wǎng)站建設(shè)微信群中引發(fā)了為什么CSS4還沒有成熟的討論,為了理解為什么沒有CSS4,我們需要看一下Web平臺的歷史。CSS的初始版本是一個單一的整體規(guī)范。這些規(guī)范包含所有可能的CSS屬性和值。這很好用,因為沒有太多CSS要詳細(xì)說明。CSS1主要涵蓋用于格式化文本文檔的功能,CSS2和CSS2.1中添加了其他功能和說明,但是CSS仍然是一個相對較小的規(guī)范。

CSS3

當(dāng)CSS工作組開始研究CSS3時,決定將大型規(guī)范拆分為模塊。這些模塊每個都覆蓋CSS的一部分。并非所有CSS都會立即放入新模塊中。CSS2.1中仍然定義了許多東西,因為它們沒有更改或添加。因此,如果仍在CSS2中定義所引用的內(nèi)容,您仍會在現(xiàn)代模塊中找到指向CSS2規(guī)范的鏈接。但是,任何新的CSS都是在單獨的模塊中創(chuàng)建的。隨著新CSS的創(chuàng)建,這種模塊化一直持續(xù)到今天。例如,構(gòu)成Box Alignment規(guī)范的幾種功能最初在Flexbox規(guī)范中開始使用。一旦很明顯它們可以應(yīng)用于其他布局方法(例如Grid Layout),它們就被移到一個新模塊中,也要為該其他方法定義。

我們不再將新規(guī)范稱為CSS3規(guī)范,部分原因是它沒有多大意義。對模塊進(jìn)行版本控制的方式是,CSS2的升級模塊(例如Selectors)成為了3級模塊。全新的CSS(例如CSS網(wǎng)格布局)在CSS2中根本不存在,因此可以從1級模塊開始生活。這些初始模塊中的一些模塊現(xiàn)在處于4級甚至5級。因此,調(diào)用所有新的CSS CSS3不再映射到這些級別編號,并且可能會造成混亂。

規(guī)范成熟度級別

除了規(guī)范級別,每個單獨的級別都經(jīng)過從初始草案到成為W3C建議書的分階段過程,該過程中的步驟稱為“ 成熟度級別”。您可能會認(rèn)為W3C建議是一個“網(wǎng)絡(luò)標(biāo)準(zhǔn)”,但是我們在工作中每天使用的許多東西都是在尚未達(dá)到該成熟度級別的規(guī)范中定義的。您可以在CSS WG Current Work頁面上查看規(guī)范列表及其狀態(tài)。

缺少進(jìn)步的CSS4

我們許多開發(fā)人員看到了關(guān)于CSS3的困惑或CSS4明顯缺乏進(jìn)步的情況。規(guī)范的級別或內(nèi)部的W3C規(guī)范成熟度對網(wǎng)站開發(fā)人員而言,遠(yuǎn)不如瀏覽器中可以實際使用的CSS來得重要。

也許CSS4可以幫助客戶將思維方式推向更安全,更好的網(wǎng)絡(luò)。但在推銷會議上,你很難告訴他們CSS4不支持IE10,因為我們需要CSS變量和網(wǎng)格布局??蛻舨恢酪膊辉诤?。他們只是想支持盡可能多的瀏覽器(非常典型的FOMO思維方式),但他們是決策者。

但是,如果我們能告訴他們CSS4不支持IE10,因為它沒有最新的CSS4技術(shù),并向他們拋出“您確定要讓新創(chuàng)建的網(wǎng)站落后于競爭對手嗎?” 問題,這可能會困擾他們(當(dāng)然,除了IE10完全過時且容易受到攻擊這一事實之外)。

第一個問題是,“準(zhǔn)備就緒” CSS的任何集合都不像選擇一組規(guī)范那樣簡單。許多規(guī)范是部分實現(xiàn)的,對某些屬性有很大的支持,而對其他屬性則沒有任何支持。許多Web開發(fā)人員認(rèn)為某些功能已經(jīng)成熟,其規(guī)格仍處于“工作草案”狀態(tài),而工作組中仍在爭論和澄清這些功能。

如果我們以多列布局為例。多年來,大多數(shù)屬性已廣泛應(yīng)用于瀏覽器。但是,該column-span屬性最近才在Firefox中實現(xiàn),并且最近澄清了許多功能,例如column-fill。

我們可以決定完全忽略規(guī)范并查看屬性。由于我們在布局方法中有部分實現(xiàn),因此這也不是一件容易的事。該框?qū)R屬性是一個很好的例子。這些是為所有布局方法定義的,其中屬性在該布局方法中有意義。但是,當(dāng)前僅在Grid和Flexbox中可以看到對Box Alignment的支持。因此justify-self,為塊級框,絕對定位的框和網(wǎng)格項定義的穩(wěn)定嗎?在網(wǎng)格環(huán)境中為是,在塊布局環(huán)境中為否。

Box Sizing是另一個領(lǐng)域,我們支持CSS Grid Layout中的固有大小值 fit-content()以進(jìn)行軌道大小調(diào)整,但不支持width。然后,除Firefox以外flex-basis的瀏覽器都沒有實現(xiàn)任何固有的大小調(diào)整關(guān)鍵字。

最后,如果我們返回multicol,人們對multicol所遇到的許多問題都與屬性本身無關(guān),而與跨瀏覽器碎片支持不佳有關(guān)。盡管有各種屬性的出色支持,但這使得multicol的表現(xiàn)似乎很差。解開所有這些依賴關(guān)系以提供一組功能將是一件非常困難的工作。

CSS不僅適用于WEB瀏覽器

有大量的用戶使用CSS和HTML并通過創(chuàng)建可打印的PDF來輸出打印的文檔。他們通常對分頁媒體規(guī)范,分段等有出色的支持。但是,在實現(xiàn)更新的CSS(例如網(wǎng)格布局)方面,它們通常落后于瀏覽器。它們?nèi)绾芜m合CSS4?

人們期望功能發(fā)布包括當(dāng)前不存在的功能

關(guān)于此問題的討論中發(fā)生的有趣的事情是,許多人發(fā)表評論說,他們對CSS4的期望是它將包含某些根本不屬于CSS的功能。盡管其中一些功能(例如Grid和Flexbox)已經(jīng)在瀏覽器中使用了很多年,但一切似乎都對他們來說是全新的。

但是,任何堅持不懈的人都可能會對為什么有一個“新的”規(guī)范充滿真正的舊事物感到困惑。

我們要解決什么問題?

在針對此問題的許多回應(yīng)中,網(wǎng)站開發(fā)人員將瀏覽器支持視為應(yīng)包含在CSS4中的關(guān)鍵,我認(rèn)為我們所面臨的問題不是CSS版本控制中的一個,而更多的網(wǎng)站開發(fā)人員對于通常應(yīng)該在其項目中使用哪些功能集合。

CSS4方法的優(yōu)點之一是它發(fā)出兩件事。首先,在CSS3之后已經(jīng)開發(fā)了很多新的CSS功能,這些功能已經(jīng)可以使用,其次,它們已經(jīng)可以使用了。沒有經(jīng)過Chrome的實驗或?qū)嵤?,但沒有其他人,但已經(jīng)為廣泛采用做好了準(zhǔn)備。

在此討論中,如此頻繁地出現(xiàn)瀏覽器支持這一事實使我們想知道,定義MDN之類的地方是否是更好的定義。所有瀏覽器供應(yīng)商都已經(jīng)為MDN做出了貢獻(xiàn),它已經(jīng)為這些功能提供了支持?jǐn)?shù)據(jù),從而使我們能夠看到諸如Box Alignment之類的部分實現(xiàn)。MDN是Web平臺的文檔,因此我們可以回避打印實現(xiàn)或CSS的任何其他實現(xiàn)的問題,僅將功能集限制在Web范圍內(nèi)。

我們?nèi)匀徊幌嘈臗SS4或我們選擇稱為CSS版本的任何東西實際上會在相對較小的社區(qū)之外對CSS的感知產(chǎn)生任何影響。我們認(rèn)為這也無助于解決網(wǎng)站開發(fā)人員說服其老板和客戶升級瀏覽器的問題。如果提供軟件的微軟告訴用戶進(jìn)行升級而用戶不進(jìn)行升級,那么我們將看不到支持CSS4的根基。而且,我們做了很長一段時間,人們?nèi)匀粵]有升級他們的瀏覽器。所以CSS4真正的使用只能依存于瀏覽器的全面支持。

網(wǎng)站題目:為什么CSS4還沒被應(yīng)用于網(wǎng)站建設(shè)?
鏈接地址:http://jinyejixie.com/news42/157792.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項目有網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
盐城市| 鲁甸县| 武乡县| 大英县| 武城县| 虎林市| 古丈县| 靖西县| 陆良县| 凉城县| 安远县| 临湘市| 鹤峰县| 思茅市| 资源县| 来宾市| 湘乡市| 滁州市| 福建省| 徐汇区| 屯门区| 原平市| 定边县| 望城县| 且末县| 资兴市| 鹤岗市| 衡南县| 和静县| 米泉市| 凤阳县| 全州县| 九寨沟县| 永康市| 犍为县| 阿克| 临沂市| 芒康县| 汾阳市| 吉林市| 兴隆县|