T之家 12 月 12 日消息,Meta 日前開源了自家產品所使用的網頁 UI 樣式系統 StyleX,這是一款基于編譯器的 CSS-in-JS 庫,號稱整合了靜態 CSS 的高效與可擴展性,并能夠復用組件庫和靜態類型代碼庫。
據悉,StyleX 并不全面支持 CSS 的所有功能,主要圍繞大型網站而構建,目前這一樣式系統已經在 Meta 旗下 Facebook、WhatsApp、Instagram 等產品中使用。
▲ 圖源 Meta 官方新聞稿IT之家獲悉,StyleX 能夠自動管理 CSS 選擇器,避免過程復雜化,確保生成的 CSS 不會出現沖突,此外,StyleX 避免了使用 JavaScript 插入樣式的開銷,僅在必要時高效地組合類名字符串,從而保證生成的 CSS 樣式能夠快速被瀏覽器解析。
此外,StyleX 生成的樣式也經過了優化,官方提到,相對于傳統 CSS 庫,StyleX 顯得“更小、更具體”,通過“原子構建”和“文件級緩存”,StyleX 在編譯時能夠同時處理數萬個組件,并具備“強大的擴展能力”,從而提升開發效率。
Meta 提到,目前官方在 GitHub 上開源的 StyleX,是公司內部所使用的 StyleX 正式版本,未來官方將在 GitHub 發布 StyleX 后續更新,Meta 還將定期同步 GitHub 上發布的新版本,帶回內部使用,感興趣的小伙伴可以點此訪問項目地址。
用wordpress開發主題的時候,經常避免不了要寫各種樣式的按鈕,下面記錄一下用按鈕樣式的寫法,以后用的時候直接拿來即可。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style type="text/css">
*{margin: 0; padding: 0;}
.container{
margin: 0 auto;
padding-top: 30px;
width: 1000px;
}
.btn{
display: inline-block;
padding: 0 30px;
width: auto;
height: 35px;
font: 14px/35px 'microsoft yahei';
color: #fff; border: 0;
border-radius: 3px;
text-align: center;
cursor: pointer;
-webkit-transition: all .5s;
-moz-transition: all .5s;
-ms-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
.blueBtn{
background: #5dcbff;
} /*藍色按鈕*/
.blueBtn:hover{
background: #40b6ee;
}
.orangeBtn{
background: #ff5700;
}/*橙色按鈕*/
.orangeBtn:hover{
background: #e25d18;
}
.violetBtn{
background: #6680ff;
}/*紫色按鈕*/
.violetBtn:hover{
background: #425de0;
}
.grayBtn{
background: #999;
}/*灰色按鈕*/
.grayBtn:hover{
background: #7f7f7f;
}
</style>
</head>
<body>
<div class="container">
<span class="btn blueBtn">藍色按鈕</span>
<span class="btn orangeBtn">橙色按鈕</span>
<span class="btn violetBtn">紫色按鈕</span>
<span class="btn grayBtn">灰色按鈕</span>
</div>
</body>
</html>
CSS全稱為 Cascading Style Sheets,譯為層疊樣式表。CSS有三種樣式:內聯樣式,內嵌樣式,外聯樣式。
內聯樣式通過HTML元素的style屬性來設置CSS樣式,語法如下:
style="CSS屬性:CSS屬性值";
示例代碼:
<!DOCTYPE html>
<html>
<head>
<title>內聯樣式</title>
<meta charset="UTF-8">
</head>
<body>
<!-- style="css屬性:css屬性值;" -->
<div style="color:red;">啟嘉班</div>
</body>
</html>
* 內聯樣式的缺點: 只對當前元素有效, 導致CSS代碼可能出現冗余
通過HTML元素的style屬性來設置CSS樣式,語法如下:
<style>
選擇器{
屬性名:屬性值;
}
</style>
示例代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>內嵌樣式</title>
<style>
p{
color: chartreuse;
font-size: 50px;
}
</style>
</head>
<body>
<p>19級啟嘉班</p>
</body>
</html>
優點: 相對于內聯樣式
*通過CSS選擇器定位HTML頁面中一個或一類元素
缺點:相對于內聯樣式
* 將CSS代碼嵌入到HTML頁面中,只能對當前HTML頁面有效
* 編碼的風格不符合編碼原則中的低耦合
* 導致CSS代碼可能出現冗余
通過HTML元素的<link>元素來設置CSS樣式表
1.創建一個CSS文件,用來存儲CSS樣式內容
2.在HTML頁面中通過<link>元素引入外部指定的CSS文件
<link>元素:
* 作用: 用來引入HTML頁面外部的資源
屬性:
* rel屬性: 用來設置外部資源與當前HTML頁面的關系
* href屬性: 用來設置引入外部資源的路徑(相對路徑和絕對路徑)
語法結構如下:
<link rel="stylesheet" href="CSS文件路徑">
示例代碼:
<link rel="stylesheet" href="style.css">
優點: 相對于內嵌樣式表和內聯樣式
* 將CSS樣式與HTML頁面進行分離(低耦合)
* 不會出現內嵌樣式表或內聯樣式產生的代碼冗余
缺點: 可能對HTML頁面的加載造成負擔,導致性能下降
下一節更新CSS選擇器
*請認真填寫需求信息,我們會在24小時內與您取得聯系。