成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

讓CSS官方后悔的一些決定

開發(fā) 前端
Z-index屬性用于設置定位元素及其后代元素或Flex元素的Z軸層疊順序,Z-index較大的元素會疊在較小元素的上面。在編程語言中,index是「索引」的意思,并沒有表達出「層疊」的意思。所以,工作組認為叫Z-order或干脆叫depth(深度)會更好。

CSS工作組在其官方WIKI[1]總結(jié)了這些年CSS在設計上犯的46條失誤。這些錯誤大體可以概括為5類:

  • 屬性key、value設計失誤
  • 布局、對齊上的設計失誤
  • 顏色相關(guān)的失誤
  • 選擇器設計失誤

本文會選一些「我覺得有意思」的失誤來講講。完整的失誤列表見上述官方WIKI。

!important語法

!important語法用來增加樣式的權(quán)重,畢竟,感嘆號通常表達「強調(diào)」的意思。但在編程語言中,!通常是「取反」的意思,比如:

const isValid = true;
!isValid // false

初次接觸CSS的工程師很可能會覺得!important是「不important」的意思,這與該語法實際想表達的意思完全相反。

所以,工作組認為!important是個糟糕的語法。

z-index語法

z-index屬性用于設置定位元素及其后代元素或flex元素的Z軸層疊順序,z-index較大的元素會疊在較小元素的上面。

在編程語言中,index是「索引」的意思,并沒有表達出「層疊」的意思。所以,工作組認為叫z-order或干脆叫depth(深度)會更好。

同時,他們也認為,這個屬性應該對所有元素有效(而不是只對定位元素及其后代,以及flex元素有效)。

單個元素margin的塌陷

「margin坍塌」是CSS中的基礎特性,假設有2個上下重疊的塊級元素:

  • 上面的元素margin-bottom為20px
  • 下面元素margin-top為30px

按照直覺來看,他們之間的margin應該是50px(20px + 30px),但是由于「margin坍塌」,他們之間的margin為其中較大的值(30px)。

上面是2個塊級元素之間的「margin坍塌」。

對于單個塊級元素,也存在「margin坍塌」 —— 如果一個元素內(nèi)部沒有內(nèi)容,或者它的內(nèi)容被清除(clear)了,那么這個元素的上下margin會發(fā)生塌陷。

這意味著,即使你為元素的頂部和底部都設置了margin,但實際上他們會合并成一個(值等于兩者中的最大者,而不是它們的總和)。

這種塌陷行為可能會導致一些讓人懵逼的布局問題。比如,你試圖通過增加一個元素的margin-bottom來增加它下面的空間,但不起作用,可能就是因為增加的 margin塌陷掉了。

所以,CSS工作組認為這不是個好設計。

rgb與rgba

rgba與hsla都是設置顏色的屬性,相比于rgb與hsl,他們還可以設置alpha值(透明度)。

所以,為啥不直接讓rgb與hsl能夠接收第四個參數(shù)(alpha值)呢?工作組很費解 自己當初咋想的。

border-radius

border-radius直譯為「邊界半徑」,當初應該取名叫corner-radius(拐角半徑)。

畢竟,這就是設置元素拐角處圓角的半徑的啊~~

絕對定位的替換元素

所謂「替換元素」,是指「外觀和尺寸由外部資源決定」的元素,比如:

  • img
  • object(嵌入的對象,如Flash動畫)
  • video
  • iframe

工作組認為,當「替換元素」被絕對定位時,偏移屬性不應該改變元素的位置,而應該改變尺寸。

比如,當對絕對定位的img設置left: 20px; right: 20px;,那么他應該被拉伸到「從左側(cè)20px到右側(cè)20px」的長度,而不是移動到距離左側(cè)20px的位置。

這個規(guī)則對于響應式布局是非常有用的,因為它允許元素自動調(diào)整其大小以適應不同的視口寬度。

總結(jié)

上面只是挑了幾個我覺得有意思的失誤來聊。除此之外,還有很多是使用習慣上的設計失誤,個人認為比較主觀。比如:

  • 子孫選擇器應該使用?符號,即:
// 當前的子孫選擇器
div p {
  color: green;
}
// 期望的子孫選擇器
div ? p {
  color: green;
}
  • 兄弟選擇器應該用++符號,即:
// 當前的兄弟選擇器
div ~ p {
  color: green;
}
// 期望的兄弟選擇器
div ++ p {
  color: green;
}

不知道上述改動,你能接受么?

參考資料

[1]官方WIKI:https://wiki.csswg.org/ideas/mistakes。

責任編輯:姜華 來源: 魔術(shù)師卡頌
相關(guān)推薦

2011-06-02 10:04:53

CSS

2012-04-23 14:04:56

CSS網(wǎng)站

2020-05-19 08:59:19

CSS偽元素開發(fā)

2012-09-11 09:16:52

Hadoop

2021-04-25 09:30:52

開發(fā)CSS 瀏覽器

2011-06-16 16:39:14

CSS

2020-08-26 08:54:17

CSSFont Size屬性

2013-03-29 13:17:53

XCode調(diào)試技巧iOS開發(fā)

2011-07-13 09:13:56

Android設計

2011-03-15 17:46:43

2012-05-21 10:13:05

XCode調(diào)試技巧

2009-07-21 09:55:45

iBATIS分頁

2009-06-18 14:54:52

Spring AOP

2009-09-21 17:46:25

Hibernate數(shù)據(jù)

2011-06-01 16:50:21

JAVA

2013-07-02 09:43:02

編程策略

2013-07-02 10:18:20

編程編程策略

2016-11-16 21:18:42

android日志

2009-06-25 09:50:32

JSF

2020-02-03 16:03:36

疫情思考
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产午夜久久 | 亚洲最大av| 欧美一区二区三区免费在线观看 | 国产精品免费大片 | 亚洲黄色成人网 | 黄色网址免费看 | 澳门永久av免费网站 | 视频一区二区在线观看 | 国产99久久精品一区二区永久免费 | 国产区视频在线观看 | 久久久国产精品 | 精品国产一区二区三区性色 | 欧美精品在线一区二区三区 | 国产男女猛烈无遮掩视频免费网站 | 国产三级精品视频 | 精品91久久 | 久久逼逼 | 久久久久久久久国产成人免费 | 亚洲高清av在线 | 午夜国产 | av片网站| 欧美xxxx在线| 欧美电影在线 | 欧美中文一区 | 日本黄色影片在线观看 | 亚洲精品一区二区三区 | 亚洲性网 | 日韩有码在线观看 | 欧美男人天堂 | 在线视频91 | 在线免费观看欧美 | 二区三区视频 | 国产成人高清视频 | 91丨九色丨国产在线 | 国产美女自拍视频 | 欧美午夜久久 | 久久精品一区二区三区四区 | 中文字幕第5页 | 国产精品永久在线观看 | www.4hu影院| 亚洲一区二区av |