亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
它是怎麼運(yùn)作的
CSS網(wǎng)格範(fàn)例
側(cè)邊欄與主內(nèi)容
Flexbox範(fàn)例
按鈕
按鈕寬度
按鈕顏色
用戶頭像
首頁(yè) web前端 css教學(xué) CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?

CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?

Jun 14, 2022 am 10:46 AM
css css3 css變數(shù)

這篇文章帶大家了解CS??S變量,聊聊CSS變量是怎麼運(yùn)作的,並介紹一下如何使用內(nèi)聯(lián)CSS變量,以提高靈巧佈局效率,希望對(duì)大家有所幫助!

CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?

有些情況下,我需要用簡(jiǎn)單的方法來(lái)建立網(wǎng)格佈局。例如,每次我改變主意時(shí),在不修改CSS的情況下快速畫(huà)出五列網(wǎng)格。在本文中,我們一起探索一些用例,並思考如果實(shí)現(xiàn)及使用它們。 【推薦學(xué)習(xí):css影片教學(xué)

它是怎麼運(yùn)作的

#在深入探討這些概念之前,首先我們來(lái)回顧C(jī)SS 變數(shù)的基礎(chǔ)知識(shí), 我們也可以稱(chēng)它為“自訂屬性”。

所有主流瀏覽器都支援CSS變量,以下是各個(gè)瀏覽器的支援情況:

CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?

如果要定義CSS變量是全域變量,則需要將其新增至:root宣告中(:root等效於)。如果該變數(shù)特定於組件,則可以在該組內(nèi)聲明中定義它。

在下面的範(fàn)例中,我定義了一個(gè)全域變數(shù)--size,它用於square 元素的寬度和高度。

:root?{
????--size:?50px;
}

.square?{
????width:?var(--size);
????height:?var(--size);
}

如果--size沒(méi)有定義,該怎麼辦呢?在傳遞的變數(shù)無(wú)效的情況下,CSS 支援定義預(yù)設(shè)變數(shù)或回退變數(shù)。

在下面的例子中的 var(--size, 10px)。如果--size無(wú)效,則寬度和高度值將為 10px。

.square?{
????width:?var(--size,?10px);
????height:?var(--size,?10px);
}

除此之外,也可以在內(nèi)聯(lián)CSS樣式中使用CSS變數(shù)。例如

HTML

<div></div>

CSS

#
.elem?{
????background:?var(--background);
}

接著, 我們以上述這些概念,也示範(fàn)一些例子。

大家都說(shuō)履歷沒(méi)項(xiàng)目寫(xiě),我就幫大家找了一個(gè)項(xiàng)目,還附贈(zèng)【搭建教學(xué)】。

CSS網(wǎng)格範(fàn)例

側(cè)邊欄與主內(nèi)容

CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?

在此設(shè)計(jì)中,我將CSS網(wǎng)格用於以下各項(xiàng):

  • #側(cè)邊欄與主選單

  • 表單項(xiàng)目

  • 三列佈局

側(cè)邊欄的寬度是固定的,主內(nèi)容是變化。假設(shè)側(cè)邊欄的寬度是240px。

1.側(cè)邊欄與主選單

Html

<div>
????<aside></aside>
????<main></main>
</div>

Html

.o-grid?{
????display:?grid;
????grid-template-columns:?var(--columns);
}

2. 表單項(xiàng)目

依照設(shè)計(jì),每行有兩列,html 結(jié)構(gòu)如下:

Html

??<div></div> ??<div></div> ??<div></div> ??<div></div>

CSS

.o-grid?{
????display:?grid;
????grid-template-columns:?var(--columns);
}

3. 三列佈局

在下面的範(fàn)例中,我新增了--repeat-number: 3--gap:8px作為內(nèi)聯(lián)CSS。這些變數(shù)將會(huì)加到o-grid類(lèi),網(wǎng)格的設(shè)定將基於這些變數(shù)。

HTML

??<div></div> ??<div></div> ??<div></div>

CSS

#
.o-grid?{
??display:?grid;
??grid-template-columns:?repeat(var(--repeat-number),?1fr);
??grid-gap:?var(--gap,?0);
}

我喜歡在CSS變數(shù)中新增預(yù)設(shè)值,以防變數(shù)沒(méi)有被設(shè)定。在上面的程式碼中,我使用了var(--gap, 0),如果使用者沒(méi)有提供--gap變量,則其預(yù)設(shè)值將為0 。

動(dòng)態(tài)網(wǎng)格項(xiàng)目:minmax

#對(duì)我來(lái)說(shuō),這是一個(gè)廣泛使用的用例,而且非常重要。我經(jīng)常使用Grid minmax,但是當(dāng)我在多個(gè)頁(yè)面上使用它時(shí),我遇到了一個(gè)問(wèn)題。

讓我們舉一個(gè)不使用 CSS 變數(shù)的基本範(fàn)例。

CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?

在CSS 中,我使用minmax為每個(gè)網(wǎng)格專(zhuān)案定義最小寬度250px 。

CSS

.o-grid?{
??display:?grid;
??grid-template-columns:?repeat(auto-fit,?minmax(250px,?1fr);
??grid-gap:?16px;
}

現(xiàn)在,如果設(shè)計(jì)要求網(wǎng)格項(xiàng)目的寬度至少為300px,該怎麼做?我需要建立類(lèi)似以下版本嗎?

.o-grid--2?{
????grid-template-columns:?repeat(auto-fit,?minmax(350px,?1fr));
}

想像一下,有五個(gè)不同的網(wǎng)格,每個(gè)網(wǎng)格有不同的項(xiàng)目寬度,所以以上不是正確的解決方案。

使用CSS變量,我可以執(zhí)行以下操作

.o-grid?{
????display:?grid;
????grid-template-columns:?repeat(auto-fit,?minmax(var(--item-width),?1fr);
????grid-gap:?var(--gap);
}

在HTML中,就可以在標(biāo)籤上設(shè)定CSS 變數(shù):


?????<div></div> ?????<div></div> ?????<div></div>
?????<div></div> ?????<div></div> ?????<div></div>
?????<div></div> ?????<div></div> ?????<div></div>

事例原始碼:https: //codepen.io/shadeed/pen/xxxPYog/7d3e0d575a5cecb86233fc7d72fa90d4

Flexbox範(fàn)例

在範(fàn)例中,有一個(gè)文章標(biāo)題,其中包含作者姓名和標(biāo)籤。這些在頁(yè)面中的排布方式是動(dòng)態(tài)變化,所以需要一種快速切換這些佈局方式的方法 。

HTML

#
<div>
????<h2>Article?title</h2>
????<div>
????????<p>By?Ahmad?Shadeed</p>
????????<p>Published?under:?CSS,?Design</p>
????</div>
</div>

CSS

.article-header__meta?{
????display:?flex;
????justify-content:?var(--justify);
}

有了它,我可以調(diào)整內(nèi)聯(lián)樣式以將值更改為另一個(gè)關(guān)鍵字。 我發(fā)現(xiàn)這在進(jìn)行快速原型制作甚至是制作網(wǎng)站時(shí)很有用。

按鈕

按鈕寬度

CSS 變量也適用于按鈕元素。 假設(shè)有一個(gè)帶有兩個(gè)input字段和一個(gè)按鈕的表單。

CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?

我的目的是通過(guò)使用內(nèi)聯(lián)CSS變量來(lái)控制按鈕的寬度。 有時(shí),按鈕應(yīng)占據(jù)其父控件的100%寬度。

html

<button>Submit</button>

css

.c-button?{
????/*?Other?styles?*/
????width:?var(--width,?initial);
}

CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?

按鈕顏色

另一個(gè)有用的用途是當(dāng)有重影按鈕(輪廓按鈕)時(shí)。 按鈕的顏色可以是任何顏色,通過(guò)使用CSS變量,可以輕松更改顏色。

HTML

<button>Save?Edits</button>
<button>Delete</button>

CSS

.c-button--ghost?{
??/*?Other?styles?*/
??background:?transparent;
??color:?var(--color,?#000);
??border-color:?currentColor;
}

CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?

CSS 變量同樣適合懸停效果。懸停時(shí),按鈕背景將變?yōu)榧兩?,并且字體顏色為白色。

CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?

事例源碼:https://codepen.io/shadeed/pen/NWWXqqX/f8e6969d5145d4dcd81aacf7a037c995

用戶頭像

每個(gè)角色的大小都不同,這非常適合用 CSS 變量來(lái)解決。假設(shè)有四個(gè)不同大小的用戶頭像。

CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?

在CSS中,定義了以下樣式:

.c-avatar?{
??display:?inline-block;
??margin-right:?2rem;
??width:?calc(var(--size,?1)?*?30px);
??height:?calc(var(--size,?1)?*?30px);
??object-fit:?cover;
??border-radius:?50%;
??box-shadow:?0?3px?10px?0?rgba(#000,?0.2);
}

通過(guò)使用Calc()函數(shù),我可以傳遞一個(gè)--size 變量,它將乘以一個(gè)基本寬度值,在HTML中定義 --size變量:

<img  class="c-avatar lazy" src="/static/imghw/default1.png" data-src="user.jpg" alt="CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?" >
<img  class="c-avatar lazy" src="/static/imghw/default1.png" data-src="user.jpg" alt="CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?" >
<img  class="c-avatar lazy" src="/static/imghw/default1.png" data-src="user.jpg" alt="CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?" >
<img  class="c-avatar lazy" src="/static/imghw/default1.png" data-src="user.jpg" alt="CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?" >

事例源碼:https://codepen.io/shadeed/pen/WNNdErw/cdaac5ff667e1f7d9c8241655441f10d

作者:Ahmad shaded

原文:https://css-tricks.com/patterns-for-practical-css-custom-properties-use/

(學(xué)習(xí)視頻分享:web前端

以上是CSS變數(shù)是怎麼運(yùn)作的?如何使用內(nèi)嵌CSS變數(shù)進(jìn)行佈局?的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話題

Laravel 教程
1597
29
PHP教程
1488
72
如何用PHP搭建社交分享功能 PHP分享接口集成實(shí)戰(zhàn) 如何用PHP搭建社交分享功能 PHP分享接口集成實(shí)戰(zhàn) Jul 25, 2025 pm 08:51 PM

在PHP中搭建社交分享功能的核心方法是通過(guò)動(dòng)態(tài)生成符合各平臺(tái)要求的分享鏈接。 1.首先獲取當(dāng)前頁(yè)面或指定的URL及文章信息;2.使用urlencode對(duì)參數(shù)進(jìn)行編碼;3.根據(jù)各平臺(tái)協(xié)議拼接生成分享鏈接;4.在前端展示鏈接供用戶點(diǎn)擊分享;5.動(dòng)態(tài)生成頁(yè)面OG標(biāo)籤優(yōu)化分享內(nèi)容展示;6.務(wù)必對(duì)用戶輸入進(jìn)行轉(zhuǎn)義以防止XSS攻擊。該方法無(wú)需複雜認(rèn)證,維護(hù)成本低,適用於大多數(shù)內(nèi)容分享需求。

什麼是常見(jiàn)的CSS瀏覽器不一致? 什麼是常見(jiàn)的CSS瀏覽器不一致? Jul 26, 2025 am 07:04 AM

不同瀏覽器對(duì)CSS解析存在差異,導(dǎo)致顯示效果不一致,主要包括默認(rèn)樣式差異、盒模型計(jì)算方式、Flexbox和Grid佈局支持程度及某些CSS屬性行為不一致。 1.默認(rèn)樣式處理不一致,解決方法是使用CSSReset或Normalize.css統(tǒng)一初始樣式;2.舊版IE的盒模型計(jì)算方式不同,建議統(tǒng)一使用box-sizing:border-box;3.Flexbox和Grid在邊緣情況或舊版本中表現(xiàn)有差異,應(yīng)多測(cè)試並使用Autoprefixer;4.某些CSS屬性行為不一致,需查閱CanIuse並提供降級(jí)

描述'垂直align”屬性及其典型用例 描述'垂直align”屬性及其典型用例 Jul 26, 2025 am 07:35 AM

1.ItAdjustSelementsLikeImagesRikeImagesOrformInputswithIntExtLineSustLineSlineSlineSlineSlikeLikeLikeBaseline,中間,Super,Super,Super和Sub.2.intablebecells,ItControlScontentalStalteNtalmscontentalMedwithThtop,Middle,Middle,Midder,Midder,經(jīng)常

什麼是口音色的物業(yè)? 什麼是口音色的物業(yè)? Jul 26, 2025 am 09:25 AM

accent-color是CSS中用於自定義復(fù)選框、單選按鈕和滑塊等表單元素高亮顏色的屬性;1.它直接改變表單控件選中狀態(tài)的默認(rèn)顏色,如將復(fù)選框的藍(lán)色勾選標(biāo)記改為紅色;2.支持的元素包括type="checkbox"、type="radio"和type="range"的輸入框;3.使用accent-color可避免複雜的自定義樣式和額外DOM結(jié)構(gòu),保持原生可訪問(wèn)性;4.現(xiàn)代瀏覽器普遍支持,舊瀏覽器需降級(jí)處理;5.設(shè)置accent-col

如何將SCSS編譯到CSS? 如何將SCSS編譯到CSS? Jul 27, 2025 am 01:58 AM

installdartsassvianpmafterinstallingnode.jsusingnpminstall-gsass.2.compilescsstocssssusingthecommandSassInput.scsssoutput.css.3。 useass - watchinput.scssoutput.csstoauto-compileonsave.4.watchentirefolderswithsass-watchscss:css.5.usepartialswith_prefixfo

如何更改CSS中的文本顏色? 如何更改CSS中的文本顏色? Jul 27, 2025 am 04:25 AM

要改變CSS中文本顏色,需使用color屬性;1.使用color屬性可設(shè)置文本前景色,支持顏色名稱(chēng)(如red)、十六進(jìn)制碼(如#ff0000)、RGB值(如rgb(255,0,0))、HSL值(如hsl(0,100%,50%))以及帶透明度的RGBA或HSLA(如rgba(255,0,0,0.5));2.可將顏色應(yīng)用於包含文本的任何元素,如h1至h6標(biāo)題、段落p、鏈接a(需注意a:link、a:visited、a:hover、a:active不同狀態(tài)的顏色設(shè)置)、按鈕、div、span等;3.最

CSS過(guò)渡教程 CSS過(guò)渡教程 Jul 26, 2025 am 09:30 AM

csStransitionSenablesMoothPropertyChangesWithMinimalCode,ifealforHoverForpectSandInteractiveFeedback.1.usethesyntaxtransition:propertyDurationTimingTiming-functionDelayDelay; TodefineTrysitions; TodefinEtrys;

如何清除未使用的CSS? 如何清除未使用的CSS? Jul 27, 2025 am 02:47 AM

UseAutomatedToolSlikePurgecsSoruncsStoscanAndRemoveUnusedcss; 2. integratePuratePurgingIntoyourBuildProcessviawebpack,vite,vite,ortailwind ’scontentConfiguration; 3.AuditcsSusageWithChroMedEvtoolScoverAgeTabBeforgeForgingToavoidRemovingNeedEdedStyles; 4.safelistdynamic

See all articles