SS簡介
由于HTML單純關注定義內容,CSS用于美化HTML頁面
CSS是層疊樣式表(英文全稱:CascadingStyleSheets)是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。CSS不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化。
CSS有兩個主要部分構成:選擇器及一條或多條聲明
選擇器的就是根據不同需求把不同標簽選出來。
選擇器 | 示例 | 示例說明 | CSS(1,2,3) |
.class | .intro | 選擇所有class="intro"的元素 | 1 |
#id | #firstname | 選擇所有id="firstname"的元素 | 1 |
* | * | 選擇所有元素 | 2 |
element | p | 選擇所有<p>元素 | 1 |
element,element | div,p | 選擇所有<div>元素和<p>元素 | 1 |
elementelement | div p | 選擇<div>元素內的所有<p>元素 | 1 |
element>element | div>p | 選擇所有父級是 <div> 元素的 <p> 元素 | 2 |
element+element | div+p | 選擇所有緊跟在 <div> 元素之后的第一個 <p> 元素 | 2 |
[attribute] | [target] | 選擇所有帶有target屬性元素 | 2 |
[attribute=value] | [target=-blank] | 選擇所有使用target="-blank"的元素 | 2 |
[attribute~=value] | [title~=flower] | 選擇標題屬性包含單詞"flower"的所有元素 | 2 |
[attribute|=language] | [lang|=en] | 選擇 lang 屬性等于 en,或者以 en- 為開頭的所有元素 | 2 |
:link | a:link | 選擇所有未訪問鏈接 | 1 |
:visited | a:visited | 選擇所有訪問過的鏈接 | 1 |
:active | a:active | 選擇活動鏈接 | 1 |
:hover | a:hover | 選擇鼠標在鏈接上面時 | 1 |
:focus | input:focus | 選擇具有焦點的輸入元素 | 2 |
:first-letter | p:first-letter | 選擇每一個<p>元素的第一個字母 | 1 |
:first-line | p:first-line | 選擇每一個<p>元素的第一行 | 1 |
:first-child | p:first-child | 指定只有當<p>元素是其父級的第一個子級的樣式。 | 2 |
:before | p:before | 在每個<p>元素之前插入內容 | 2 |
:after | p:after | 在每個<p>元素之后插入內容 | 2 |
:lang(language) | p:lang(it) | 選擇一個lang屬性的起始值="it"的所有<p>元素 | 2 |
element1~element2 | p~ul | 選擇p元素之后的每一個ul元素 | 3 |
[attribute^=value] | a[src^="https"] | 選擇每一個src屬性的值以"https"開頭的元素 | 3 |
[attribute$=value] | a[src$=".pdf"] | 選擇每一個src屬性的值以".pdf"結尾的元素 | 3 |
[attribute*=value] | a[src*="runoob"] | 選擇每一個src屬性的值包含子字符串"runoob"的元素 | 3 |
:first-of-type | p:first-of-type | 選擇每個p元素是其父級的第一個p元素 | 3 |
:last-of-type | p:last-of-type | 選擇每個p元素是其父級的最后一個p元素 | 3 |
:only-of-type | p:only-of-type | 選擇每個p元素是其父級的唯一p元素 | 3 |
:only-child | p:only-child | 選擇每個p元素是其父級的唯一子元素 | 3 |
:nth-child(n) | p:nth-child(2) | 選擇每個p元素是其父級的第二個子元素 | 3 |
:nth-last-child(n) | p:nth-last-child(2) | 選擇每個p元素的是其父級的第二個子元素,從最后一個子項計數 | 3 |
:nth-of-type(n) | p:nth-of-type(2) | 選擇每個p元素是其父級的第二個p元素 | 3 |
:nth-last-of-type(n) | p:nth-last-of-type(2) | 選擇每個p元素的是其父級的第二個p元素,從最后一個子項計數 | 3 |
:last-child | p:last-child | 選擇每個p元素是其父級的最后一個子級。 | 3 |
:root | :root | 選擇文檔的根元素 | 3 |
:empty | p:empty | 選擇每個沒有任何子級的p元素(包括文本節點) | 3 |
:target | #news:target | 選擇當前活動的#news元素(包含該錨名稱的點擊的URL) | 3 |
:enabled | input:enabled | 選擇每一個已啟用的輸入元素 | 3 |
:disabled | input:disabled | 選擇每一個禁用的輸入元素 | 3 |
:checked | input:checked | 選擇每個選中的輸入元素 | 3 |
:not(selector) | :not(p) | 選擇每個并非p元素的元素 | 3 |
::selection | ::selection | 匹配元素中被用戶選中或處于高亮狀態的部分 | 3 |
:out-of-range | :out-of-range | 匹配值在指定區間之外的input元素 | 3 |
:in-range | :in-range | 匹配值在指定區間之內的input元素 | 3 |
:read-write | :read-write | 用于匹配可讀及可寫的元素 | 3 |
:read-only | :read-only | 用于匹配設置 "readonly"(只讀) 屬性的元素 | 3 |
:optional | :optional | 用于匹配可選的輸入元素 | 3 |
:required | :required | 用于匹配設置了 "required" 屬性的元素 | 3 |
:valid | :valid | 用于匹配輸入值為合法的元素 | 3 |
:invalid | :invalid | 用于匹配輸入值為非法的元素 | 3 |
基礎選擇器由單個選擇器組成包括標簽選擇器,類選擇器,id選擇器和通配符選擇器
標簽名{
屬性1:屬性值1;
屬性2:屬性值2;
屬性3:屬性值3;
...
}
.類名{
屬性1:屬性值1;
...
}
多類名使用 在標簽class屬性中寫多個類名用空格隔開
<div class="類名1 類名2"></div>
#id名{
屬性1:屬性值1;
...
}
* { //通配符選擇器使用"*"定義,表示選取頁面中所有的元素(標簽)
屬性1:屬性值1;
...
}
屬性 | 表示 | 注意 |
font-size | 字號 | 我們通常用的單位px像素 |
font-family | 字體 | 實際工作按照要求來寫 |
font-wright | 字體粗細 | 加粗是700或者bold 不加粗是normal或者400 沒有單位 |
font-style | 字體樣式 | 傾斜是italic 不傾斜是normal |
font | 字體連寫 | 字體連寫是有順序的不能隨意換位置,其中字號和字體必須同時出現 |
文本顏色顏色color: red; | 屬性值 |
預定義顏色 | green,red,blue,withe... |
十六進制 | #FF0000,#FF6600,#29D794... |
RGB代碼 | rgb(255,0,0)或rgb(100%,0%,0%) |
文本對齊屬性值text-align: center; | 解釋 |
left | 左對齊(默認) |
right | 右對齊 |
center | 居中對其 |
裝飾文本text-decoration: underline; | 描述 |
none | 默認。沒有裝飾 |
underline | 下劃線。鏈接a自帶下劃線 |
overline | 上劃線 |
line-though | 刪除線 |
文本縮進:
text-indent: 10px/2em
給定縮進長度或em相對單位一個文字的大小
行間距:
line-height: 26px;
樣式表 | 優點 | 缺點 | 使用情況 | 控制范圍 |
行內 | 書寫方便權重高 | 結構樣式混寫 | 較少 | 控制一個標簽 |
內部 | 部分結構和樣式分離 | 沒有徹底分離 | 較多 | 控制一個界面 |
外部 | 完全實現結構樣式分離 | 需要引入 | 最多 | 控制多個頁面 |
詳情可參考
https://www.runoob.com/ 菜鳥教程
https://www.w3school.com.cn/ w3c
英國《太陽報》報道,菲律賓一位網頁設計師為了向自己的職業致敬,給自己的兒子取名為“Hypertext Mark-up Language(超文本標記語言)”。這位叫做Mac Pascual的父親表示,給新生兒取個獨一無二的名字是他們家族的傳統。他對自己的工作充滿熱情,決定給自己的寶寶取名為HTML。據媒體報道,這個寶寶出生在當地的布拉坎醫療集團合作醫院,體重2.25公斤。
6月10日,HTML的姑姑Salie Rayo Pascual拍下了這個可愛侄子的照片,并把照片發布到了Facebook上,標題是“HTML,歡迎來到這個世界”。這篇帖子很快引起了網友們的關注,大家紛紛評論并轉發了這個帖子。不過,還是有一些社交媒體用戶對這個奇特的名字進行了一番嘲笑,并嘲諷般地建議他給未來的孩子用一些其他的編碼縮寫來當名字,比如“Results-based management system”、“JavaScript”,或者是“Cascading Style Sheets(CSS)”。還有人對寶寶的名字表示了擔憂評論道:“將來,他可能會成為被欺負和被嘲笑的對象。”
HTML的爸爸解釋說,他自己的名字“Mac”就是“Macaroni'85”的縮寫,而他姐姐的名字是“Spaghetti'88(意大利面)”的縮寫。他的姐姐有兩個孩子,分別叫“Cheese Pimiento(辣椒奶酪)”和“Parmesan Cheese(帕爾瑪奶酪)”,所以他們的小名分別是“Chippy”和“Peewee”。HTML和其他名字不同尋常的嬰兒一樣,從出生起就成為了人們討論的話題。特斯拉的首席執行官Elon Musk和Claire Boucher(Grimes)就給自己的兒子取名為“X ? A-12 Musk”,因而上了新聞頭條。今年早些時候,模特兼女演員Emily Ratajkowski 通過社交媒體宣布,她將給自己剛出生的寶寶取名為“Sylvester Apollo Bear”。(中國青年網編譯報道)
來源:中國青年網
文分享自華為云社區《直播回顧 | 人人用數不用愁,動態數據脫敏為您解憂-云社區-華為云》,作者:胡辣湯 。
隨著大數據時代的到來,數據作為重要的生產要素和流動載體,如何加強技術層面的數據安全和隱私保護,對數據倉庫產品提出更高的要求。本期《隱私保護不用愁,數據脫敏為您解憂》的主題直播中,我們邀請到華為云GaussDB(DWS)技術布道師胡玥老師,針對GaussDB(DWS) 動態脫敏功能、效果與開發者和伙伴朋友們展開交流互動。
數據脫敏(Data Masking),顧名思義,即屏蔽敏感數據,對敏感數據通過脫敏規則進行數據的變形。如:身份證號、手機號、卡號、客戶姓名、客戶地址、郵箱地址等。
數據脫敏分為靜態數據脫敏和動態數據脫敏。靜態數據脫敏,是數據的“搬移并仿真替換”,是將數據抽取進行脫敏處理后,下發給下游環節,隨意取用和讀寫的,脫敏后數據與生產環境相隔離,滿足業務需求的同時保障生產數據庫的安全。動態數據脫敏,在訪問敏感數據的同時實時進行脫敏處理,可以為不同角色、不同權限、不同數據類型執行不同的脫敏方案,從而確保返回的數據可用而安全。
當前,業界脫敏實施最廣泛的方案是基于數倉底座,外掛第三方代理工具實現脫敏目的,這類方式屬于靜態脫敏,而GaussDB(DWS) 數據脫敏是在數倉底座拓展了一個透明引擎與數倉內核直接交互,使得脫敏處理在SQL語句請求執行過程中實時發生,然后返回給用戶執行結果,即脫敏之后的數據,所以整個脫敏的過程,用戶無感知,邊執行、邊脫敏、邊使用,是一種非常典型的動態脫敏。
良好的底座協同。脫敏引擎貫穿于數倉底座的諸多環節,基于預置脫敏策略,參與SQL引擎的解析、重寫、優化與執行。脫敏過程用戶無感知。
策略可配置。客戶可結合自身業務場景識別敏感數據并對業務表的指定列靈活預置脫敏策略。
策略可擴展。產品內置脫敏函數,可以涵蓋大部分常見脫敏效果,支持用戶自定義脫敏函數。
數據可用性。數據庫內原始敏感數據參與運算,僅在出庫時刻(返回結果時)才會做脫敏處理。
數據訪問受控。脫敏策略生效條件的用戶均對原始敏感數據不可見。
全場景數據不泄露。底座交互,可減少敏感數據傳輸鏈路潛在的泄露風險,更加安全可靠,且充分識別各種惡意套取潛在場景并有效防護。
GaussDB(DWS)脫敏引擎
動態數據脫敏,是在查詢語句執行過程中,根據生效條件是否滿足,實現實時的脫敏處理。生效條件,通常是針對當前用戶角色的判斷。敏感數據的可見范圍,即是針對不同用戶預設的。系統管理員,具有最高權限,任何時刻對任何表的任何字段都可見。確定受限制用戶角色,是創建脫敏策略的第一步。
敏感信息依賴于實際業務場景和安全維度,以自然人為例,用戶個體的敏感字段包括:姓名、身份證號、手機號、郵箱地址等等;在銀行系統,作為客戶,可能還涉及銀行卡號、過期時間、支付密碼等等;在公司系統,作為員工,可能還涉及薪資、教育背景等;在醫療系統,作為患者,可能還涉及就診信息等等。所以,識別和梳理具體業務場景的敏感字段,是創建脫敏策略的第二步。
不同脫敏列可以采用不同的脫敏函數。比如,手機號通常顯示后四位尾號,前面用"*"替換;金額統一顯示為固定值0,等等。確定脫敏列需要綁定的脫敏函數,是創建脫敏策略的第三步。
有了上述三個信息,第四步構造策略創建的語句并執行,從而預制好脫敏策略。
常見的脫敏效果
數據庫內要求原始的敏感數據能夠參與加工計算,僅在出庫的時刻敏感數據才會被脫敏處理。例如投影列表達式、投影列函數、聚集函數、過濾條件、分組條件、子查詢位置投影列表達式等,需要原敏感數據直接參與加工計算。在表查詢、視圖查詢、COPY查詢、GDS外表導出等場景觸發時會進行數據脫敏。可算不可見功能有一個前置的條件,需要打開開關enable_redactcol_computable=on!。
示例:將表emp中年齡<30的員工數據生成新表young,員工Alice查看表young數據會發生什么?
輸入語句:CREATE TABLE young AS SELECT * FROM david.emp WHERE timestampdiff(year, birth, now()) < 30;
SELECT * FROM young;
執行語句后,員工Alice查看目標表樣時發現查詢young表的脫敏行為與我們的原表emp行為一致(圖一)。當我們查看Alice表定義時(圖二),發現Alice并沒有手工創建脫敏策略,而是關聯了脫敏策略inherited_rp,INSERT執行過程觸發脫敏策略的繼承,從而保證我們的數據庫內可算,又保證了數據的隱私性。
圖一
圖二
華為云數倉GaussDB(DWS)數據脫敏功能,是數據庫產品內化和夯實數據安全能力的重要技術突破,主要涵蓋以下三個方面:
總而言之,數據脫敏功能可以充分滿足客戶業務場景的數據脫敏訴求,支持常見隱私數據的脫敏效果,實現敏感數據的可靠保護。歡迎感興趣的開發者觀看直播回放,了解詳細信息。
更多關于GaussDB(DWS)產品技術解析、數倉產品新特性的介紹,請關注GaussDB(DWS)論壇,技術博文分享、直播安排將第一時間發布在GaussDB(DWS)論壇。
論壇鏈接:https://bbs.huaweicloud.com/forum/forum-598-1.html
直播回放鏈接:https://bbs.huaweicloud.com/live/cloud_live/202310191700.html
關注#華為云開發者聯盟# 點擊下方,第一時間了解華為云新鮮技術~
華為云博客_大數據博客_AI博客_云計算博客_開發者中心-華為云
*請認真填寫需求信息,我們會在24小時內與您取得聯系。