前端之CSS(一)
一、什麼是CSS
CSS是Cascading Style Sheets,層疊樣式表,高大上的說法是用來控制網頁資料的表現,可以使網頁的表現與資料內容分離。通俗來講,就是用各種盒子的堆疊實現我們想要的HTML頁面,武sir說招聘的時候都不說招前端,而是招div+css,我覺得很貼切。
二、CSS的引入
1.行內式
<!--#行內式引用:--> <p style="background-color: chartreuse">yinrufangshi1</p> 行內式是在單個標籤的style屬性中設定,並不能體現CSS的優勢:減少程式碼量,so不推薦使用
2.嵌入式
嵌入式是將CSS樣式集中寫在網頁的<head></head>標籤對的<style></style>標籤對中。格式如下: <head> <style type="text/css"> ...此處寫CSS樣式 </style> </head> eg: <!--#嵌入式引用:在head中定義style--> <style type="text/css"> p{color: blue;background-color: azure;} </style> <!--然後在body中呼叫--> <p>yinrufangshi2</p>
3.匯入式
將一個獨立的.css檔案引入HTML檔案中,匯入式使用CSS規則引入外部CSS檔案,<style>標記也是寫在<head>標記中,使用的語法如下: <style type="text/css"> @import"mystyle.css"; 此處要注意.css檔案的路徑 </style>
4.連結式
也是將一個.css檔案引入到HTML檔案中 <link href="mystyle.css" rel="stylesheet" type="text/css"/> 注意: 匯入式會在整個網頁裝載完後再裝載CSS檔案,因此這就導致了一個問題,如果網頁比較大則會兒出現先顯示無樣式的頁面,閃爍一下之後,再出現網頁的樣式。這是匯入式固有的一個缺陷。使用連結式時與匯入式不同的是它會以網頁檔案主體裝載前裝載CSS檔案,因此顯示出來的網頁從一開始就是帶樣式的效果的,它不會象匯入式那樣先顯示無樣式的網頁,然後再顯示有樣式的網頁,這是連結式的優點。
優先順序:標籤(行內式)>頁面鑲入(嵌入式)>外部(匯入式、連結式),這個僅限同樣的樣式衝突是才有用.
三、CSS選擇器
1、什麼是選擇器?
“選擇器”指明瞭{}中我們定義的“樣式”的作用物件,也就是“樣式”作用於網頁中的哪些元素。
2、選擇器的分類?
- 基礎選擇器
- ‘*’:通用元素選擇器,匹配任何元素。eg: * { margin:0; padding:0; }
- E:標籤選擇器,匹配所有使用E標籤的元素。eg:p { color:green; }
- .info和E.info:class類選擇器,匹配所有class屬性中包含info的元素,info是自定義的名字。eg: .info { background:#ff0; } p.info { background:blue; }
- #info和E#info:id選擇器,匹配所有id屬性等於info的元素。eg:#info { background:#ff0; } p#info { background:#ff0; }
- 組合選擇器
- 多元素選擇器:同時匹配多個元素,元素之間用逗號分隔。eg:div,p{color:#ddd;}
- 後代元素選擇器:匹配所有屬於A元素後代的C元素,A和C之間用空格分隔。eg:
#aaa li { display:inline; } li a { font-weight:bold; }
- 子元素選擇器:匹配A元素的所有子元素B,A和B之間用大於號分隔。eg:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .div1>p{ background-color: aqua; color: deeppink; } .main2>div{ background-color: blueviolet; color: chartreuse; } </style> </head> <body> <div class="div1">hello1 <div class="div2">hello2 <div>hello4</div> <p>hello5</p> </div> <p>hello3</p> </div> <p>hello6</p> <hr> <div class="main2">1 <div>tina <div> </div> </div> <div> </div> </div> </body> </html>
- 毗鄰元素選擇器:匹配所有同級元素又或兄弟元素。用加號連線。eg: p + p { color:#f00; }
.b+p {兄弟選擇器,將同級的標籤選擇出來 background-color: blue; font-size: 40px; }
- 屬性選擇器
- E[att]:匹配所有具有att屬性的E元素,不考慮它的值。(E在此處可以省略,eg:p[title] { color:#f00; }或[title] { color:#f00; })
- E[att=val]:匹配所有att屬性等於“val”的元素。eg:div[class=”error”] { color:#f00; }
- E[att~=val]:匹配所有att屬性具有多個空格分隔的值、其中一個值等於“val”的元素。eg:td[class~=”name”] { color:#f00; }
- E[att|=val]:匹配所有att屬性具有多個連字元(-hyphen-separated)分隔的值,其中一個值以val開頭的E元素,主要用於lang屬性,因為lang=en-us或en-gb等。eg:p[lang|=en] { color:#f00; }
- E[att^=val]:匹配屬性值以指定值開頭的每個元素。eg:div[class^="test"]{background:#ffff00;}
- E[att$=val]:匹配屬性值以指定值結尾的每個元素。eg:div[class$="test"]{background:#ffff00;}
- E[att*=val]:匹配屬性值中包含指定值的每個元素。eg:div[class*="test"]{background:#ffff00;}
- p:before--->在每個<p>元素的內容之前插入內容。 eg:p:before{content:"hello";color:red}
- p:after--->在每個<p>元素的內容之後插入內容。eg:p:after{content:"hello";color:red}
[class] {屬性選擇器,將clas的屬性都選擇出來 background-color: blue; } [class='b'] {將class = 'b'的選擇出來 background-color: blue; } [class |='b'] {匹配具有連字元 - 的以b開頭的class屬性 background-color: blue; } [class ^='b'] {匹配以b開頭的class屬性 background-color: blue; } [class ~= 'c'] {匹配具有多個空格分隔的值、其中一個值等於'c'的class屬性 background-color: blue; } p:before { content:'666' ; color: blue; }
- 偽類選擇器(專用於控制連結的顯示效果)
- a:link(從未訪問過的連結的嶄新狀態),用於定義了連結的常規狀態。
- a:hover(滑鼠移動到連結上時未點選的懸浮狀態),用於產生視覺效果。
- a:visited(已訪問過的連結的狀態)用於閱讀文章,能清楚的判斷已經訪問過的連結。
- a:active(在連結上按下滑鼠時的狀態),用於表現滑鼠按下時的連結啟用狀態。
<style type="text/css"> a:link{ color: red; } a:visited { color: blue; } a:hover { color: green; } a:active { color: yellow; }<!--注意順序這4個偽類的順序 lvha--> </style> </head> <body> <a href="">hello-world</a> </body> </html>
四、CSS的常用屬性
1、顏色屬性
<div style="color:blueviolet">ppppp</div> <div style="color:#ffee33">ppppp</div> <div style="color:rgb(255,0,0)">ppppp</div> <div style="color:rgba(255,0,0,0.5)">ppppp</div>
2、字型屬性
font-size: 20px/50%/larger font-family:'Lucida Bright' font-weight: lighter/bold/border/ <h1 style="font-style: oblique">hello tina</h1>
3、背景屬性
background-color: cornflowerblue background-image: url('1.jpg'); background-repeat: no-repeat;(repeat:平鋪滿) background-position: right top(20px 20px);(橫向:left center right)(縱向:top center bottom) 簡寫:<body style="background: 20px 20px no-repeat #ff4 url('1.jpg')"> <div style="width: 300px;height: 300px;background: 20px 20px no-repeat #ff4 url('1.jpg')">
注意:如果講背景屬性加在body上,要記得給body加上一個height,否則結果異常,這是因為body為空,無法撐起背景圖片,另外,如果此時要設定一個width=100px,你也看不出效果,除非你設定出html。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> html{ background-color: antiquewhite; } body{ width: 100px; height: 600px; background-color: deeppink; background-image: url(1.jpg); background-repeat: no-repeat; background-position: center center; } </style> </head> <body> </body> </html>
4、文字屬性
font-size: 10px; text-align: center;橫向排列 line-height: 200px;文字行高 通俗的講,文字高度加上文字上下的空白區域的高度 50%:基於字型大小的百分比 p { width: 200px; height: 200px; text-align: center; background-color: aquamarine; line-height: 200px; } text-indent: 150px; 首行縮排,50%:基於父元素(weight)的百分比 letter-spacing: 10px;字母間距 word-spacing: 20px;單詞間距 direction: rtl;從右向左,預設是從左向右 text-transform: capitalize;首字母大寫
5、邊框屬性
border-style: solid;dashed;dotted border-color: chartreuse; border-width: 20px; 簡寫:border: 30px rebeccapurple solid;
6、列表屬性
ul,ol{ list-style: decimal-leading-zero; 0開頭的數字標記。(01, 02, 03, 等。) list-style: none;<!--!!!重點,做輪播圖時常用到,將列表前面的圈去掉--> list-style: circle; 標記是空心圓 list-style: upper-alpha; 大寫字母 list-style: disc; 預設。標記是實心圓
7、display屬性
display的用法: <!--display 為none將隱藏標籤--> <div style="display: none;">tina</div>
<!--display 為inline會將塊級別標籤調為內聯標籤--> <div style="display:inline">tina</div>
<!--display 為block會將內聯標籤調為塊級別標籤--> <a style="display:block">tina</a>
五、後序
小插曲: 當我們在pycharm執行css程式碼時,建議找到檔案所在位置,右鍵,選擇瀏覽器執行,避免IDE錯誤@注:下篇將會詳細補充盒子模型、float、position的用法及inline&block的因緣糾葛,敬請期待~(*^__^*) ~……
相關推薦
前端之CSS(一)
一、什麼是CSS CSS是Cascading Style Sheets,層疊樣式表,高大上的說法是用來控制網頁資料的表現,可以使網頁的表現與資料內容分離。通俗來講,就是用各種盒子的堆疊實現我們想要的HTML頁面,武sir說招聘的時候都不說招前端,而是招div+css,我覺得很貼切。 二、CSS的引入 1
前端之HTML(一)
BE 二維 格式 雙標簽 color pen 腳本 AC tip 一、初識HTML 1.1、web服務本質 import socket sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) sock.bind
從零開始學 Web 之 CSS(一)選擇器
大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 W
前端之CSS(二)
一、盒子模型 說到盒子模型,我們不得不提一下,W3C標準和IE瀏覽器是有區別的,我昨天就在寫抽屜作業的時候踩過坑,建議用谷歌瀏覽器,並推薦一篇博文:http://www.osmn00.com/translation/213.html 在W3C盒模型中,一個塊級元素的總寬度(總高度同理)按照如下的方程
學習前端之路(一)
為了讓自己能夠記下一些常用的知識,特此寫下來mark,以便渣渣的自己隨時查閱。 今天開始做第一個專案,聽說很簡單,那就假裝很簡單吧。Build a Tribute Page. 需要使用到Bootstrap框架。 1、container Bootstrap 固定佈局 如果
從後端到前端之Vue(一)寫個表格試試水
目錄: 1、指令碼式開發. 2、工程化開發 3、工程化和指令碼的區別 4、來個table試試水 4,1、目標 4.2、思路 4.3、設計與編碼 4.4、效果 5、業務分離 6、功能拓展——個性化設定  
我的IT夢——web前端開發之HTML,CSS(一)
jpg 標記語言 方便 add body 前端 input cti 列表 HTML HTML全稱HyperText Markup Language(超文本標記語言) 標簽成對出現 <!DOCTYPE html> 文檔類型定義 < > 標
css重構之旅(一)
rdquo lan set 變化 部分 網站 一個 寬度 lang css重構之旅 >前言: 今年我大一,馬上就要大二了。從高三畢業暑假到大學的這一年馬上過去,馬上迎來大二生活.學習前端也有將近一年了。一昧去追求那些視覺的效果和相對高端和新穎的技術,反而忽略了最基礎
前端之 —— node.js摸爬打滾之路(一)
turn lan name resp function oba ack val 括號 安裝: window下的安裝,node.js直接上官網下載:https://nodejs.org/en/ 選擇LTS,也就是版本號比較低的穩定版,下載下來後運行下載的文件進行安裝; 通
python--前端之CSS(css頁面引入方法、選擇器之基本選擇器、組合選擇器)
gin 如果 優點 選擇器 alt 前端 設置字體 行高 常用 CSS產生背景: 為了讓網頁元素的樣式更加豐富,也為了讓網頁的內容和樣式能拆分開,CSS由此思想而誕生,CSS是 Cascading Style Sheets 的首字母縮寫,意思是層疊樣式表。 有了CSS,ht
前端案例分享(一):CSS+JS實現流星雨動畫
目錄 引言 1、效果圖 2、原始碼 3、案例解析 4、小問題 5、結語 引言 平常會做一些有意思的小案例練手,通常都會發到codepen上,但是codepen不能寫分析。 &nb
前端系列教程之CSS(引入)
CSS 引入 當讀到一個樣式表時,瀏覽器會根據它來格式化 HTML 文件。 插入樣式表的方法有三種: 外部樣式表 內部樣式表 內聯樣式 一、外部樣式表 當樣式需要應用於很多頁面時,外部樣式表將是理想的選擇。在使用外部樣式表的情況下,你可以通過改變一個
前端成長之路(一)setState需要注意的幾點
一直沒有對setState有什麼很深入的瞭解,最近閱讀了一些文章,深感setState的運用並不簡單 setState的使用不當,很有可能會導致一些莫名其妙的bug 首先:setState並不保證同步執行 呼叫setState後,並不會直接改變state的值,而
web前端進化之路(一)——小程式開發
最近學習前端感覺很多知識學起來容易,但是很多知識點很容易忘記,想做一個工具來方便自己來學習,正好結合小程式,分享給大家。照顧初學者,可能講的比較細,理解哈。 準備工具 小程式一個 已申請(名稱是:we
前端-CSS(一)
CSS 概念:層疊樣式表(Cascading Style Sheets) 一、語法概述 選擇器{屬性:值;屬性:值; } CSS註釋: /*這是註釋*/ 例如 p{ colo
從零開始學 Web 之 HTML(一)認識前端
大家好,這裡是 Daotin 從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 1、什麼是前端 前端對於網站來說,
前端學習-基礎部分-css(一)
技術分享 bbc utf-8 one doctype nbsp itl 拆分 基本應用 開始今日份整理 1.CSS的導入方式 CSS的導入方式主要是有內聯模式,行內模式,外部樣式表 1.1 內聯模式 內聯模式:直接在<head>中直接寫css,例如
前端之css(寬高)設置小技巧
:after 頁面 使用 left 適應 偽元素 inline 失效 ie6 一、css寬高自適應: 1.寬度自適應: 元素寬度設為100%(塊狀元素的默認寬度為100%) 註:應用在通欄效果中 2.高度自適應: height:aut
從後端到前端之Vue(三)小結以及一顆真實的大樹
上一篇寫了一下tab,下面整理一下用過的知識點,本想按照官網的文件,整理一下可以更清晰,結果也許是我的方法不對吧,總之更模糊了。 按照官網文件的順序整理到了表單輸入繫結之前,因為之前大致也就只涉及到這一些,另外一個原因就是整理的有點頭暈暈。 先展示一下成果吧。Emmm,好吧,很懷疑自己的歸納總結的能力
Docker+Cmd+Cli+Git之前端工程化紀要(一)整體目標
之前一版的工程化核心產物就是一個IDE,即利用python+node將webpack等技術將FE的開發、編譯、部署上線等環境整合在sublime中,產出了一個核心工具。但隨著長期的使用與技術棧的優化升級等,原工程化工具的侷限性、便利性、跨平臺的相容性等方面的問題正在逐漸暴露,加之最近的疫情因素,更讓我們有理由