中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

dk域名網站全搜網

dk域名網站,全搜網,建筑公司網站設計模板,開發(fā)公司前期部崗位職責前言 在現代前端開發(fā)中,獲取屏幕的寬度和高度通常依賴于 JavaScript。然而現代 CSS 也可以獲取到屏幕的寬高,通過自定義屬性(CSS Variables)和一些數學函數來實現這一目標。本文將詳細解析如何使用 CSS 的 property 規(guī)則和一些數…

前言

在現代前端開發(fā)中,獲取屏幕的寬度和高度通常依賴于 JavaScript。然而現代 CSS 也可以獲取到屏幕的寬高,通過自定義屬性(CSS Variables)和一些數學函數來實現這一目標。本文將詳細解析如何使用 CSS 的 @property 規(guī)則和一些數學運算來獲取屏幕的寬高,嚴格的說是獲取視口的寬度和高度。

使用CSS獲取屏幕寬高僅是一種實現方式,部分屬性和數學函數有一定的兼容性問題,所以線上環(huán)境使用需謹慎。首先來了解一些前置知識點:

1. CSS 自定義屬性

CSS 自定義屬性(也稱為 CSS 變量)允許開發(fā)者在 CSS 中定義可重用的值。通過使用 var() 函數,可以在樣式表的任何地方引用這些變量。自定義屬性的定義通常在 :root 選擇器中進行,以便在整個文檔中使用。

:root {--shadow-hue: 180deg;--spring-duration: 1.33s;--canvas: 220;--bg: hsl(var(--canvas), 15%, 22%);--wgt: 200;
}

2. @property 規(guī)則

@property 規(guī)則是 CSS 的一項新特性,允許開發(fā)者定義自定義屬性的語法、繼承性和初始值。通過 @property,我們可以指定一個屬性的類型和默認值。

在我們的示例中,我們定義了兩個自定義屬性 --_w --_h,分別表示屏幕的寬度和高度:

@property --_w {syntax: '<length>';inherits: true;initial-value: 100vw; 
}@property --_h {syntax: '<length>';inherits: true;initial-value: 100vh; 
}
  • syntax: ‘length’ 指定了屬性的類型為長度。
  • inherits: true 表示該屬性可以繼承。
  • initial-value 設置了屬性的初始值,分別為 100vw 和 100vh,即視口的寬度和高度。

3. 數學運算函數

atan2(y, x) 函數返回從 x 軸到點 (x, y) 的角度(以弧度為單位)。
tan() 函數則計算給定角度的正切值。

4. 計算屏幕寬高

:root 選擇器中,我們使用 tan() atan2() 函數來計算屏幕的寬度和高度,在這里我們將 var(–_w) 1px 作為參數傳遞,計算出寬度的角度。通過這種方式,我們可以將寬度和高度轉換為無單位的整數值。

:root {--w: tan(atan2(var(--_w), 1px));--h: tan(atan2(var(--_h), 1px));
}
  1. 使用 counter 顯示寬高
    body:before 偽元素中,我們使用 counter 來顯示計算出的寬度和高度:
body:before {content: counter(w) "x" counter(h);counter-reset: h var(--h) w var(--w);font-size: 50px;font-family: system-ui, sans-serif;font-weight: 900;position: fixed;inset: 0;width: fit-content;height: fit-content;margin: auto;
}

counter-reset 用于初始化計數器 h w,并將其值設置為 var(–h)var(–w)。
content: counter(w) “x” counter(h); 用于顯示寬度和高度,格式為 寬度 x 高度。
通過設置 position: fixed inset: 0,我們將內容居中顯示在屏幕上。

6. 效果展示

當頁面加載時,瀏覽器會根據視口的實際寬度和高度計算出 –w –h 的值,并在頁面上顯示出來。整個過程完全不依賴于 JavaScript。

7. 總結

通過使用 CSS 的 @property 規(guī)則和數學函數,我們可以在不使用 JavaScript 的情況下獲取屏幕的寬度和高度。隨著 CSS 規(guī)范的不斷發(fā)展,未來可能會有更多類似的功能,使得前端開發(fā)更加靈活和高效。

雖然CSS提供了強大的功能,但在不使用JavaScript的情況下獲取屏幕尺寸仍然存在限制,如瀏覽器兼容問題。CSS自定義屬性和計數器可以用于創(chuàng)造性的解決方案,但在某些情況下,JavaScript仍然是必要的。開發(fā)者應該根據項目的具體需求和環(huán)境來選擇最合適的方法。

http://www.risenshineclean.com/news/31444.html

相關文章:

  • 白菜網站建設如何優(yōu)化網站首頁
  • 公司網站建app互聯網營銷師怎么報名
  • 建設部一建注冊公示網站培訓心得體會范文大全1000字
  • 怎么建設好一個外貿購物網站哪有惡意點擊軟件買的
  • 寧夏住房和城鄉(xiāng)建設廳網站執(zhí)業(yè)資格工具大全
  • 邢臺網站優(yōu)化建設站長查詢域名
  • 二級域名網站怎么投廣告百度seo優(yōu)化規(guī)則
  • 手機端網站建設公司經典網絡營銷案例
  • 網站如何防止被復制百度打車客服電話
  • 高端網站設計費用電商網站建設公司
  • 深圳做公司網站推廣的廣州seo網站開發(fā)
  • 購物網站開發(fā)實戰(zhàn)有創(chuàng)意的網絡營銷案例
  • 海創(chuàng)網站建設電子商務推廣
  • 揚州公司做網站公司手游推廣平臺代理
  • 奢侈品商城網站建設方案泰安做網站公司
  • 貴陽市網站做的最好的識別關鍵詞軟件
  • asp網站亂碼百度推廣在線客服
  • 做文化建設的網站免費做網站怎么做網站鏈接
  • 全球速賣通靠譜嗎seo的關鍵詞無需
  • 專業(yè)電商網站建設百度快照客服
  • 做vr效果圖的網站seo優(yōu)化關鍵詞
  • 深圳企業(yè)網站制作公司美國今天剛剛發(fā)生的新聞
  • 價格優(yōu)化網站建設百度快速收錄方法
  • 哈爾濱php網站開發(fā)公司關鍵詞優(yōu)化的建議
  • 比優(yōu)化更好的詞是seo教程網站
  • 大連網站制作重慶百度推廣排名
  • 汕尾手機網站開發(fā)一鍵注冊所有網站
  • psd做成網站電腦培訓速成班多少錢
  • 二級域名是什么洛陽網站seo
  • 免費行情軟件app網站大全下載免費入口資源鏈接搜索引擎