網(wǎng)站開發(fā)用 CSS 編寫邏輯
發(fā)布日期:2022-05-16 09:28:59在網(wǎng)站開發(fā)中CSS 是一種高度專業(yè)化的編程語言,專注于樣式系統(tǒng)。由于這個獨特的用例及其聲明性,有時很難理解。有些人甚至完全否認(rèn)它是一種編程語言。讓我們通過編寫一個智能、靈活的樣式系統(tǒng)來證明它們是錯誤的。
首先要控制結(jié)構(gòu),更傳統(tǒng)的通用語言(如 JavaScript)為我們提供了條件(if/then)、循環(huán)(for、while)、邏輯門(===、&&等)和變量等工具。這些結(jié)構(gòu)在 CSS 中的命名不同,它們的語法大不相同,以更好地適應(yīng)文檔樣式的特定用例,其中一些直到幾年前才在 CSS 中可用。再就是變量,變量是最直接的變量。它們在 CSS 中被稱為自定義屬性(盡管每個人都稱它們?yōu)樽兞?,甚至是他們自己的語法)。
:root {
--color: red;
}
span {
color: var(--color, blue);
}
雙破折號聲明一個變量并賦值。這必須在范圍內(nèi)發(fā)生,因為在選擇器之外這樣做會破壞 CSS 語法。請注意:root選擇器,它用作全局范圍。
條件可以以多種方式編寫,具體取決于您要在何處使用它們。選擇器的范圍是它們的元素,媒體查詢是全局范圍的,并且需要它們自己的選擇器。屬性選擇器:[data-attr="true"] {
/* if */
}
[data-attr="false"] {
/* elseif */
}
:not([data-attr]) {
/* else */
}
偽類::checked {
/* if */
}
:not(:checked) {
/* else */
}
媒體查詢::root {
color: red; /* else */
}
@media (min-width > 600px) {
:root {
color: blue; /* if */
}
}
循環(huán),計數(shù)器既是 CSS 中最直接的循環(huán)形式,也是使用范圍最窄的一種。您只能在content屬性中使用計數(shù)器,將其顯示為文本。您可以在任何給定點調(diào)整其增量、起點和值,但輸出始終限于文本。但是,如果您想使用循環(huán)來定義重復(fù)的布局模式怎么辦?這種循環(huán)有點模糊:它是 Grid 的auto-fill屬性。
這會用盡可能多的元素填充網(wǎng)格,同時縮放它們以填充可用空間,但在需要時將它們分成多行。只要找到項目并將其限制為最小寬度 300px 和最大寬度為其自身大小的一小部分,它就會重復(fù)。它可能比解釋更容易看到。CSS 非常有能力定義智能和反應(yīng)式布局系統(tǒng)。與其他語言相比,它的控制結(jié)構(gòu)和算法可能有點奇怪,但它們就在那里,它們可以勝任任務(wù)。讓我們停止僅僅描述一些風(fēng)格并開始讓它們發(fā)揮作用。
聯(lián)系電話:
13528173451