整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          CSS中的:any-link、-focus-visi

          CSS中的:any-link、:focus-visible、:focus-within、:where()

          類選擇器以冒號開頭,并基于當(dāng)前元素的狀態(tài)進(jìn)行匹配。狀態(tài)可能和DOM樹相關(guān),也可能和狀態(tài)的改變有關(guān),比如:hover 和 :checked。

          :any-link


          兼容性還行;

          可以匹配具有href屬性的<a>和<area>,不管這些鏈接是否被訪問過。

          :any-link等價(jià)于:link 加上 :visited。

          值得注意的是,:any-link 比a標(biāo)簽選擇器優(yōu)先級要高,下面的例子中 color: purple; 會(huì)勝出。

          :any-link {
            color: purple;
          }
          
          a {
            color: red;
          }

          :focus-visible

          我敢打賭,PC網(wǎng)頁上一個(gè)常見的可訪問性設(shè)計(jì)不好的地方就是諸如<a><button><input>這些元素在獲取焦點(diǎn)后沒有顯示outline。這對于那些習(xí)慣使用鍵盤進(jìn)行頁面訪問的用戶來說非常不友好,在一串Tab操作后,他們不知道自己停留在了哪個(gè)頁面元素上。

          :focus-visible的出現(xiàn)就是為了解決這個(gè)問題,它會(huì)在瀏覽器覺得需要給與用戶反饋的時(shí)候顯示出一個(gè)獲取到焦點(diǎn)的圈圈(focus ring)。

          safari目前不支持。以下是demo:

          <style>
              .wrapper {
                  background: black;
                  text-align: center;
                  width: 360px;
                  height: 100px;
                  padding: 40px;
                  box-sizing: border-box;
                  color: blanchedalmond;
              }
          
              .image-nav-button {
                  color: blanchedalmond;
                  text-decoration: none;
                  font-size: 20px;
                  line-height: 1em;
              }
          
              .next {
                  float: right;
              }
          
              .prev {
                  float: left;
              }
          
              .image-nav-button:focus {
                  outline: none;
                  /* Try uncommenting below, then clicking the buttons */
                  /* outline: 3px solid red; */
              }
          
              .image-nav-button:focus-visible {
                  outline: 3px solid blanchedalmond;
              }
          </style>
          
          <div class="wrapper">
              <a href="#" tabindex="1" class="image-nav-button prev">← Prev Image</a>
              <a href="#" tabindex="2" class="image-nav-button next">Next Image →</a>
          </div>
          <p><small>
                See caniuse.com for more details
          </small></p>

          :focus-within


          :focus-within的行為類似于一個(gè)父元素選擇器。:focus-within應(yīng)用于一個(gè)容器,并且某個(gè)后代元素獲取到焦點(diǎn)時(shí),某些樣式會(huì)被加到容器上(或者是容器內(nèi)的其他后代元素上)。



          <style>
            .form-group:focus-within {
                 outline: 2px dashed blue;
             }
          
           .form-group:focus-within label{
                 color: blue;
           }
          </style>
          
          <div class="form-group">
            <label for="abcdef">Example form field</label>
            <input type="text" id="abcdef">
          </div>
          

          :where()

          假設(shè)你熟悉:is(), 那么:where()也很簡單。:where():is()不一樣的一點(diǎn)就是:where()是零特異性的(zero-specificity),比如下面這段代碼:

          :where(article) img {
                 border: 5px solid green;
          }
          
          img {
                 border: 5px solid orange;
          }

          最終img的border是orange色的,和直觀經(jīng)驗(yàn)不一樣,原因就是:where() img的權(quán)重和img是一樣的。這個(gè)選擇器經(jīng)常是做框架的人使用。

          家好,我是 Echa。

          今天來分享 50 個(gè)超實(shí)用的 Chrome 瀏覽器擴(kuò)展!

          JSON

          1. JSON Viewer Pro

          JSON Viewer Pro 用于可視化JSON文件。其核心功能包括:

          • 支持將JSON數(shù)據(jù)進(jìn)行格式化,并使用屬性或者圖表進(jìn)行展示;
          • 使用面包屑深入遍歷 JSON 屬性;
          • 在輸入?yún)^(qū)寫入自定義 JSON;
          • 導(dǎo)入本地 JSON 文件;
          • 使用上下文菜單下載 JSON 文件;
          • 網(wǎng)址過濾器;
          • 改變主題;
          • 自定義 CSS ;
          • 復(fù)制屬性和值;

          輸入界面如下:

          格式化之后:

          2. JSONVue

          JSONVue 是一個(gè)JSON數(shù)據(jù)查看器,主要用來格式化JSON數(shù)據(jù):

          網(wǎng)站技術(shù)

          3. Library Sniffer

          Library Sniffer 是一款給開發(fā)者使用的工具,能夠探測當(dāng)前網(wǎng)頁所使用的類庫、框架和服務(wù)器環(huán)境,為開發(fā)者提供了方便。

          4. Wappalyzer

          Wappalyzer 擴(kuò)展可以用來識(shí)別網(wǎng)站背后的底層技術(shù)。通過此擴(kuò)展,可以了解特定應(yīng)用程序是否是用 React、Vue、Angular、PHP等編寫的。還可以訪問有關(guān) Web 服務(wù)器、編程語言、框架、內(nèi)容管理系統(tǒng)、分析的信息工具、數(shù)據(jù)庫等。

          5. WhatRuns

          WhatRuns 擴(kuò)展程序只需單擊一下即可找到任何網(wǎng)站上使用的技術(shù)。

          開發(fā)調(diào)試

          6. PerfectPixel by WellDoneCode

          使用PerfectPixel插件可以將設(shè)計(jì)圖加載至網(wǎng)頁中,與已成型的網(wǎng)頁進(jìn)行重疊對比,以幫助開發(fā)和設(shè)計(jì)人員規(guī)范網(wǎng)頁像素精度。這是一款可以優(yōu)化前端頁面顯示的Chrome插件。

          7. Clear Cache

          可以使用此擴(kuò)展程序快速清除緩存,無需任何確認(rèn)對話框、彈出窗口等。可以在選項(xiàng)頁面上自定義要清除的數(shù)據(jù)和數(shù)量,包括:應(yīng)用程序緩存、緩存、Cookie、下載、文件系統(tǒng)、表單數(shù)據(jù)、歷史記錄、索引數(shù)據(jù)庫、本地存儲(chǔ)、插件數(shù)據(jù)、密碼和 WebSQL。

          8. VisBug

          VisBug 是一個(gè)使用 JavaScript 構(gòu)建的開源網(wǎng)頁設(shè)計(jì)調(diào)試工具,它可以讓用戶使用點(diǎn)擊式和拖放式界面來查看網(wǎng)站的元素。

          9. Debug CSS

          Debug CSS 是一個(gè)幫助調(diào)試CSS的插件。他可以顯示出頁面元素的輪播,按住Ctrl,并將鼠標(biāo)懸浮在元素上,即可查看其信息:

          10. CSS Viewer

          CSS Viewer 是一款適用于 Web 開發(fā)人員的高效 Chrome 擴(kuò)展。顧名思義,CSS 查看器可以顯示將鼠標(biāo)懸停在任何網(wǎng)頁上的元素的 CSS 屬性。

          11. EditThisCookie

          EditThisCookie 是一個(gè) cookie 管理器。可以添加,刪除,編輯,搜索,鎖定和屏蔽cookies。

          12. React Developer Tools

          React Developer Tools 是開源 JavaScript 庫 React 的 Chrome DevTools 擴(kuò)展。它允許我們在 Chrome 開發(fā)者工具中檢查 React 組件層次結(jié)構(gòu)。安裝此插件之后,將在 Chrome DevTools 中獲得兩個(gè)新選項(xiàng)卡:"?? Components" 和 "?? Profiler":

          • Components 選項(xiàng)卡顯示了在頁面上呈現(xiàn)的根 React 組件,以及它們最終呈現(xiàn)的子組件;
          • Profiler 選項(xiàng)卡用來記錄性能信息。

          13. Vue.js devtools

          Vue.js devtools 是一款基于chrome瀏覽器的用于調(diào)試Vue.js應(yīng)用程序的插件,可以使得開發(fā)人員大大提高調(diào)試效率。支持用戶對DOM結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)進(jìn)行解析和調(diào)試功能。

          14. Augury

          Augury 可以幫助開發(fā)人員在 Google Chrome 瀏覽器中調(diào)試和分析 Angular 應(yīng)用程序。

          15. Firebug Lite for Google Chrome

          Firebug Lite是火狐瀏覽器中著名的開發(fā)者工具firebug插件移植到Chrome中的插件,在Chrome中安裝了Firebug Lite插件以后,開發(fā)人員可以像在火狐瀏覽器中使用firebug一樣熟悉的方式來調(diào)試網(wǎng)頁內(nèi)容,其包含了基本的HTML、CSS以及Javascript的調(diào)試功能,用于幫助網(wǎng)頁前端開發(fā)工程師快速地調(diào)試網(wǎng)頁,以便及時(shí)地找到網(wǎng)頁中的BUG并及時(shí)修復(fù)。

          16. HTML Validator

          HTML Validator 在 Chrome 的開發(fā)者工具中添加了 HTML Validator。HTML 頁面的錯(cuò)誤數(shù)通過瀏覽器狀態(tài)欄中的圖標(biāo)顯示,詳細(xì)信息可以在瀏覽器的開發(fā)者工具中查看。

          17. Web Developer

          Web Developer 擴(kuò)展為帶有各種 Web 開發(fā)工具的瀏覽器添加了一個(gè)工具欄按鈕。該擴(kuò)展適用于 Chrome 和 Firefox,并且可以在這些瀏覽器支持的任何平臺(tái)上運(yùn)行,包括 Windows、macOS 和 Linux。

          18. Requestly

          Requestly 是一款Chrome和Firefox瀏覽器插件,提供URL轉(zhuǎn)發(fā)、修改HTTP請求和結(jié)果、插入腳本等功能。

          19. Window Resizer

          Window Resizer 主要用來調(diào)整瀏覽器窗口的大小以模擬各種屏幕分辨率。

          20. Responsive Viewer

          Responsive Viewer 是在一個(gè)視圖中顯示多個(gè)屏幕的 Chrome 擴(kuò)展程序。該擴(kuò)展將幫助前端開發(fā)人員在開發(fā)響應(yīng)式網(wǎng)站/應(yīng)用程序時(shí)測試多個(gè)屏幕。

          21. Moesif Origin & CORS Changer

          此插件允許直接從瀏覽器發(fā)送跨域請求,而不會(huì)收到跨域錯(cuò)誤。可以使用此插件覆蓋 Request Origin 標(biāo)頭,并將 Access-Control-Allow-Origin 設(shè)置為 *.

          22. ColorPick Eyedropper

          ColorPick Eyedropper 是一個(gè)放大的吸管和顏色選擇器工具,可讓從網(wǎng)頁等中選擇顏色值。

          23. CSSPeeper

          CSS Peeper 用于檢查和復(fù)制元素樣式的優(yōu)秀工具,使用 CSSPeeper 可以將鼠標(biāo)懸停在網(wǎng)頁中的任何元素上,然后單擊鼠標(biāo)即可復(fù)制元素的樣式。

          24. Dimensions

          Dimensions是一款能幫助使用者對網(wǎng)頁上各種元素屬性之間的距離進(jìn)行測量的Chrome頁面元素測量插件,該插件在點(diǎn)擊啟動(dòng)插件圖標(biāo)后,可以對頁面中圖像、輸入字段、按鈕以及視頻等頁面元素之間上下左右的方位尺寸進(jìn)行測量,同時(shí)還可以通過使用快捷鍵來快速啟用或關(guān)閉該插件的功能,簡單實(shí)用。

          25. Site Palette

          Site Palette 用于生成調(diào)色板。設(shè)計(jì)師和前端開發(fā)人員必備的工具。可以通過這款插件輕松獲取網(wǎng)站的配色方案。

          26. ColorZilla

          ColorZilla 是一款功能強(qiáng)大地提取網(wǎng)頁色彩的工具;也是個(gè)快速的對顏色進(jìn)行調(diào)節(jié)的Chrome插件,許多的用戶將這款軟件稱呼為顏色吸取插件,它提取的顏色是非常的多樣化,還可生產(chǎn)css顏色的代碼等。

          • 吸管器-獲取頁面上任何像素或區(qū)域的顏色;
          • 一個(gè)先進(jìn)的顏色選擇器類似于可以在Photoshop和Paint Shop Pro中找到的;
          • 網(wǎng)頁顏色分析器-分析任何網(wǎng)頁上的DOM元素顏色,找到相應(yīng)的元素;
          • 終極CSS梯度發(fā)生器;
          • 調(diào)色板查看器與7預(yù)先安裝調(diào)色板;
          • 顏色歷史最近挑選的顏色;
          • 顯示標(biāo)簽名稱,類別,編號,大小等元素信息;
          • 光標(biāo)下的輪廓元素;
          • 自動(dòng)將生成或采樣的顏色復(fù)制到CSS RGB,Hex和其他格式的剪貼板;
          • 使用鍵盤快速采樣頁面顏色的鍵盤快捷鍵。

          字體

          27. WhatFont

          當(dāng)我們想查看網(wǎng)頁中文字的字體時(shí),最常用的方法就是在控制臺(tái)查看文字的字體樣式。那還有沒有更簡單的方法呢?WhatFont 就是一個(gè)查看網(wǎng)頁字體的Chrome擴(kuò)展。只需要的點(diǎn)擊擴(kuò)展圖標(biāo),再點(diǎn)需要查看為文字即可:

          28. Fonts Ninja

          Fonts Ninja 可以從任何網(wǎng)站識(shí)別字體、添加書簽、試用并購買它們。

          標(biāo)簽頁

          29. BrowserStack

          使用 BrowserStack 快速啟動(dòng)擴(kuò)展在任何瀏覽器中啟動(dòng)一個(gè)新的測試會(huì)話。最多可設(shè)置 12 個(gè)瀏覽器以實(shí)現(xiàn)快速訪問并最大限度地減少切換瀏覽器所花費(fèi)的時(shí)間。

          30. Toby

          Toby 是一款 Chrome 新標(biāo)簽頁工具,能夠?qū)⑽醋x的標(biāo)簽頁分組顯示在新標(biāo)簽頁中,這樣就能把所有未看完的標(biāo)簽頁都關(guān)閉了。分組相當(dāng)于多個(gè) Chrome 窗口,將你的標(biāo)簽頁都拖進(jìn) Toby 中,就不需要實(shí)時(shí)開著占地方了。

          31. daily.dev

          該擴(kuò)展提供了每日熱門開發(fā)者新聞,不需要再浪費(fèi)時(shí)間搜索高質(zhì)量的文章了。

          32. Momentum

          Momentum 擁有漂亮的新標(biāo)簽頁面,每日更新精彩背景壁紙圖片,可設(shè)置每日新鮮事焦點(diǎn)以及跟蹤待辦事項(xiàng),無廣告,無彈窗。

          33. The Great Suspender

          The Great Suspender 是一個(gè)輕量級的擴(kuò)展用來減少 Chrome 的內(nèi)存占用。如果同時(shí)打開許多選項(xiàng)卡,在可配置的時(shí)間之后未查看的選項(xiàng)卡將在后臺(tái)自動(dòng)掛起,從而釋放該選項(xiàng)卡消耗的內(nèi)存和 CPU。

          34. Session Buddy

          Session Buddy是一個(gè)可以幫助用戶查看、新增、編輯當(dāng)前網(wǎng)站Session狀態(tài)的Chrome插件。用戶可以利用該插件保存網(wǎng)站當(dāng)前的狀態(tài)以便在關(guān)閉Chrome或關(guān)閉計(jì)算機(jī)后恢復(fù),從而達(dá)到節(jié)省內(nèi)存的作用。

          Github

          35. Octotree

          Octotree 旨在讓 GitHub 體驗(yàn)更好。通常,為了檢查 Github 中的子文件夾,需要手動(dòng)單擊文件夾并導(dǎo)航。Octotree 擴(kuò)展解決了這個(gè)問題。此擴(kuò)展在項(xiàng)目的左側(cè)顯示存儲(chǔ)庫的目錄結(jié)構(gòu),這有助于更好地理解文件夾結(jié)構(gòu)。

          1_EKF88oqIyX6FzgueCKdtXg.gif

          36. File Icons for GitHub and GitLab

          File Icons for GitHub and GitLab 可以將 GitHub 和 GitLab 上的原始文件圖標(biāo)替換為特定文件類型的圖標(biāo)。

          網(wǎng)頁測試

          37. axe DevTools

          ax DevTools 是一個(gè)快速、輕量級但功能強(qiáng)大的測試工具,由 Deque 開發(fā)的世界上最值得信賴的可訪問性測試引擎 axe-core 驅(qū)動(dòng)。使用 ax DevTools 在網(wǎng)站開發(fā)過程中查找并修復(fù)更多可訪問性問題。

          38. OctoLinker

          OctoLinker 可以將特定語言的語句(如 include、require 或 import)轉(zhuǎn)換為鏈接。當(dāng)打開一個(gè)包含多個(gè)導(dǎo)入語句的文件并且想要快速打開它時(shí),只需將鼠標(biāo)懸停在鏈接的文件上并單擊即可打開。

          39. Web Developer Checklist

          此擴(kuò)展可幫助 Web 開發(fā)人員分析網(wǎng)頁是否違反最佳實(shí)踐。

          40. Check My Links

          Check My Links 是一個(gè)鏈接檢查器,它可以抓取網(wǎng)頁并查找損壞的鏈接。

          41. Checkbot

          Checkbot 是用于驗(yàn)證一組HTML頁面上的鏈接的工具。Checkbot可以檢查一個(gè)或多個(gè)服務(wù)器上的單個(gè)文檔或一組文檔。它會(huì)創(chuàng)建一個(gè)報(bào)告,該報(bào)告匯總了引起某種警告或錯(cuò)誤的所有鏈接。

          42. PageSpeed Insights

          Google Page Speed Insighs 是一款旨在優(yōu)化所有設(shè)備上的網(wǎng)頁、提高網(wǎng)頁加載速度的工具。

          43. Meta SEO Inspector

          META SEO inspector是一款可以幫助用戶分析網(wǎng)頁的meta信息并得到SEO評估的谷歌瀏覽器插件。

          隱私廣告

          44. Ghostery

          Ghostery 是強(qiáng)大的隱私保護(hù)擴(kuò)展程序。其主要有以下功能:

          • 攔截廣告:Ghostery 內(nèi)置的廣告攔截工具可以移除網(wǎng)頁上的廣告,防止網(wǎng)頁雜亂無章,讓你專注于想看的內(nèi)容。
          • 保護(hù)隱私:利用 Ghostery 可以查看和攔截所瀏覽的網(wǎng)站上的跟蹤器,控制收集數(shù)據(jù)的跟蹤器。增強(qiáng)反跟蹤功能還能將數(shù)據(jù)匿名化,進(jìn)一步保護(hù)隱私。
          • 提高瀏覽速度:Ghostery 的智能攔截功能可以自動(dòng)攔截和取消攔截跟蹤器來滿足網(wǎng)頁質(zhì)量標(biāo)準(zhǔn),提高網(wǎng)頁加載速度,優(yōu)化網(wǎng)頁性能。

          45. AdBlock

          AdBlock 用來在YouTube、Facebook、Twitch和其他你喜愛的網(wǎng)站上攔截廣告和彈窗。

          效率工具

          46. Marinara

          番茄工作法(Pomodoro?)時(shí)間管理助理。? 長短兩種休息時(shí)間 ? 帶有倒計(jì)時(shí)顯示的工具欄圖標(biāo) ? 追蹤Pomodoro歷史和統(tǒng)計(jì)訊息 ? 可配置的長休間隔 ? 可配置的定時(shí)器時(shí)長 ? 桌面與新標(biāo)簽頁通知 ? 超過20種音效可選的聲音通知 ? 計(jì)時(shí)器秒針走動(dòng)音效

          47. Loom

          Loom 可以用來快速錄制視頻,并且能夠?qū)浿频囊曨l上傳到指定的網(wǎng)頁中,Loom還支持在用戶點(diǎn)擊啟動(dòng)插件時(shí),立即捕捉屏幕圖像,同時(shí)開始視頻錄制操作,還可以將錄制好的視頻復(fù)制到粘貼板中存儲(chǔ)。

          48. GoFullPage

          GoFullPage 是一款全屏截圖插件(整個(gè)網(wǎng)頁截圖),完整捕獲您當(dāng)前頁面的屏幕,進(jìn)行滾動(dòng)截圖,而無需任何額外的權(quán)限。單擊擴(kuò)展程序圖標(biāo),然后將其傳輸?shù)狡聊豢煺盏男聵?biāo)簽頁中,可以在其中將其下載為圖像或PDF,甚至只需拖動(dòng)即可,保存到桌面。

          49. BetterViewer

          BetterViewer 可以提供更好的圖像查看體驗(yàn),旨在替代基于 Chrome 瀏覽器中內(nèi)置的圖像查看模式。使用時(shí),只需在頁面右鍵點(diǎn)擊圖片,選擇“在新標(biāo)簽頁中打開圖片”即可。

          50. svg-grabber

          svg-grabber 是一個(gè)快速預(yù)覽并從網(wǎng)站獲取所有 svg 的工具。可以用來預(yù)覽、下載和復(fù)制網(wǎng)站中所有 SVG 圖標(biāo)和插圖的代碼。

          ,html+css基礎(chǔ)

          1-1

          Html和CSS的關(guān)系

          學(xué)習(xí)web前端開發(fā)基礎(chǔ)技術(shù)需要掌握:HTML、CSS、JavaScript語言。下面我們就來了解下這三門技術(shù)都是用來實(shí)現(xiàn)什么的:

          1. HTML是網(wǎng)頁內(nèi)容的載體。內(nèi)容就是網(wǎng)頁制作者放在頁面上想要讓用戶瀏覽的信息,可以包含文字、圖片、視頻等。

          2. CSS樣式是表現(xiàn)。就像網(wǎng)頁的外衣。比如,標(biāo)題字體、顏色變化,或?yàn)闃?biāo)題加入背景圖片、邊框等。所有這些用來改變內(nèi)容外觀的東西稱之為表現(xiàn)。

          3. JavaScript是用來實(shí)現(xiàn)網(wǎng)頁上的特效效果。如:鼠標(biāo)滑過彈出下拉菜單。或鼠標(biāo)滑過表格的背景顏色改變。還有焦點(diǎn)新聞(新聞圖片)的輪換。可以這么理解,有動(dòng)畫的,有交互的一般都是用JavaScript來實(shí)現(xiàn)的。

          1-2

          1, HTML標(biāo)簽不區(qū)分大小寫,<h1>和<H1>是一樣的,但建議小寫,因?yàn)榇蟛糠殖绦騿T都以小寫為準(zhǔn)。

          1-3

          一個(gè)HTML文件是有自己固定的結(jié)構(gòu)的。

          <html>

          <head>...</head>

          <body>...</body>

          </html>

          代碼講解:

          1. <html></html>稱為根標(biāo)簽,所有的網(wǎng)頁標(biāo)簽都在<html></html>中。

          2. <head> 標(biāo)簽用于定義文檔的頭部,它是所有頭部元素的容器。頭部元素有<title>、<script>、 <style>、<link>、 <meta>等標(biāo)簽,頭部標(biāo)簽在下一小節(jié)中會(huì)有詳細(xì)介紹。

          3. 在<body>和</body>標(biāo)簽之間的內(nèi)容是網(wǎng)頁的主要內(nèi)容,如<h1>、<p>、<a>、<img>等網(wǎng)頁內(nèi)容標(biāo)簽,在這里的標(biāo)簽中的內(nèi)容會(huì)在瀏覽器中顯示出來。

          1-4

          1,下面這些標(biāo)簽可用在 head 部分:

          <head>

          <title>...</title>

          <meta>

          <link>

          <style>...</style>

          <script>...</script>

          </head>

          2,代碼注釋不僅方便程序員自己回憶起以前代碼的用途,還可以幫助其他程序員很快的讀懂你的程序的功能,方便多人合作開發(fā)網(wǎng)頁代碼。

          語法:

          <!--注釋文字 -->

          3,CSS注釋代碼

          就像在Html的注釋一樣,在CSS中也有注釋語句:用/*注釋語句*/來標(biāo)明(Html中使用<!--注釋語句-->)

          1-5

          1,語義化:說的通俗點(diǎn)就是:明白每個(gè)標(biāo)簽的用途(在什么情況下我可以使用這個(gè)標(biāo)簽才合理)比如,網(wǎng)頁上的文章的標(biāo)題就得用標(biāo)題標(biāo)簽,網(wǎng)頁上的各個(gè)欄目的欄目名稱也可以使用標(biāo)題標(biāo)簽。

          2,語義化的作用

          1). 更容易被搜索引擎收錄。

          2). 更容易讓屏幕閱讀器讀出網(wǎng)頁內(nèi)容。

          二,認(rèn)識(shí)標(biāo)簽(第一部分)

          2-1

          如果想在網(wǎng)頁上顯示文章,這時(shí)就需要<p>標(biāo)簽了,把文章的段落放到<p>標(biāo)簽中。

          語法:

          <p>段落文本</p>

          2-2

          <hx>標(biāo)簽來制作文章的標(biāo)題。

          標(biāo)題標(biāo)簽一共有6個(gè),h1、h2、h3、h4、h5、h6分別為一級標(biāo)題、二級標(biāo)題、三級標(biāo)題、四級標(biāo)題、五級標(biāo)題、六級標(biāo)題。并且依據(jù)重要性遞減。<h1>是最高的等級。

          語法:

          <hx>標(biāo)題文本</hx> (x為1-6)

          文章的標(biāo)題前面已經(jīng)說過了,可以使用標(biāo)題標(biāo)簽,另外網(wǎng)頁上的各個(gè)欄目的標(biāo)題也可使用它們

          2-3

          有了段落又有了標(biāo)題,現(xiàn)在如果想在一段話中特別強(qiáng)調(diào)某幾個(gè)文字,這時(shí)候就可以用到<em>或<strong>標(biāo)簽。

          但兩者在強(qiáng)調(diào)的語氣上有區(qū)別:<em> 表示強(qiáng)調(diào),<strong> 表示更強(qiáng)烈的強(qiáng)調(diào)。并且在瀏覽器中<em> 默認(rèn)用斜體表示,<strong> 用粗體表示。兩個(gè)標(biāo)簽相比,目前國內(nèi)前端程序員更喜歡使用<strong>表示強(qiáng)調(diào)

          2-4

          <em>、<strong>、<span>的區(qū)別:

          1. <em>和<strong>標(biāo)簽是為了強(qiáng)調(diào)一段話中的關(guān)鍵字時(shí)使用,它們的語義是強(qiáng)調(diào)。

          2. <span>標(biāo)簽是沒有語義的,它的作用就是為了設(shè)置單獨(dú)的樣式用的,把一段話圈起來,然后用css設(shè)置樣式。

          2-5

          q標(biāo)簽,短文本引用

          比如在你的網(wǎng)頁的文章里想引用某個(gè)作家的一句詩,這樣會(huì)使你的文章更加出彩,那么<q>標(biāo)簽是你所需要的。

          語法:

          <q>引用文本</q>

          1,注意要引用的文本不用加雙引號,瀏覽器會(huì)對q標(biāo)簽自動(dòng)添加雙引號。

          2,注意這里用<q>標(biāo)簽的真正關(guān)鍵點(diǎn)不是它的默認(rèn)樣式雙引號(如果這樣我們不如自己在鍵盤上輸入雙引號就行了),而是它的語義:引用別人的話

          blockquote標(biāo)簽,長文本引用

          <blockquote>的作用也是引用別人的文本。但它是對長文本的引用

          <q>標(biāo)簽是對簡短文本的引用,比如說引用一句話就用到<q>標(biāo)簽。

          語法:

          <blockquote>引用文本</blockquote>

          瀏覽器對<blockquote>標(biāo)簽的解析是縮進(jìn)樣式

          2-6

          換行標(biāo)簽<br/>

          <br/>標(biāo)簽作用相當(dāng)于word文檔中的回車。

          分割線標(biāo)簽<hr/>

          <hr/>標(biāo)簽和<br/>標(biāo)簽一樣也是一個(gè)空標(biāo)簽,所以只有一個(gè)開始標(biāo)簽,沒有結(jié)束標(biāo)簽。

          <hr/>標(biāo)簽的在瀏覽器中的默認(rèn)樣式線條比較粗,顏色為灰色,可能有些人覺得這種樣式不美觀,沒有關(guān)系,這些外在樣式在我們以后學(xué)習(xí)了css樣式表之后,都可以對其修改。

          2-7

          html特殊字符

          空格: (;分號必不可少)

          2-8

          address標(biāo)簽,為網(wǎng)頁加入地址信息

          語法:

          <address>地址信息</address>

          如:

          <address>北京市西城區(qū)德外大街10號</address>

          在瀏覽器上顯示的樣式為斜體,如果不喜歡斜體,當(dāng)然可以,可以在后面的課程中使用css樣式來修改它<address>標(biāo)簽的默認(rèn)樣式

          2-9

          在介紹語言技術(shù)的網(wǎng)站中,必免不了在網(wǎng)頁中顯示一些計(jì)算機(jī)專業(yè)的編程代碼,當(dāng)代碼為一行代碼時(shí),你就可以使用<code>標(biāo)簽了,如下面例子:

          <code>var i=i+300;</code>

          語法:

          <code>代碼語言</code>

          注意:在文章中一般如果要插入多行代碼時(shí)不能使用<code>標(biāo)簽,如果是多行代碼,可以使用<pre>標(biāo)簽。

          <pre> 標(biāo)簽的主要作用:預(yù)格式化的文本。被包圍在 pre 元素中的文本通常會(huì)保留空格和換行符。如果用以前的方法,回車需要輸入<br>簽,空格需要輸入 。

          注意:<pre> 標(biāo)簽不只是為顯示計(jì)算機(jī)的源代碼時(shí)用的,在你需要在網(wǎng)頁中預(yù)顯示格式時(shí)都可以使用它,只是<pre>標(biāo)簽的一個(gè)常見應(yīng)用就是用來展示計(jì)算機(jī)的源代碼。

          三,認(rèn)識(shí)標(biāo)簽(第二部分)

          3-1

          1,無序列表

          ul-li是沒有前后順序的信息列表。

          語法:

          <ul>

          <li>信息</li>

          <li>信息</li>

          ......

          </ul>

          舉例:

          <ul>

          <li>精彩少年</li>

          <li>美麗突然出現(xiàn)</li>

          <li>觸動(dòng)心靈的旋律</li>

          </ul>

          ul-li在網(wǎng)頁中顯示的默認(rèn)樣式一般為:每項(xiàng)li前都自帶一個(gè)圓點(diǎn)

          2,有序列表

          語法:

          <ol>

          <li>信息</li>

          <li>信息</li>

          ......

          </ol>

          舉例:

          下面是一個(gè)熱點(diǎn)課程下載排行榜:

          <ol>

          <li>前端開發(fā)面試心法 </li>

          <li>零基礎(chǔ)學(xué)習(xí)html</li>

          <li>JavaScript全攻略</li>

          </ol>

          <ol>在網(wǎng)頁中顯示的默認(rèn)樣式一般為:每項(xiàng)<li>前都自帶一個(gè)序號,序號默認(rèn)從1開

          3-2

          <div>容器標(biāo)簽

          在網(wǎng)頁制作過程過中,可以把一些獨(dú)立的邏輯部分劃分出來,放在一個(gè)<div>標(biāo)簽中,這個(gè)<div>標(biāo)簽的作用就相當(dāng)于一個(gè)容器。

          語法:

          <div>…</div>

          確定邏輯部分:

          什么是邏輯部分?它是頁面上相互關(guān)聯(lián)的一組元素。如網(wǎng)頁中的獨(dú)立的欄目版塊,就是一個(gè)典型的邏輯部分。如下圖所示:圖中用紅色邊框標(biāo)出的部分就是一個(gè)邏輯部分,就可以使用<div>標(biāo)簽作為容器

          注釋:<div> 是一個(gè)塊級元素,也就是說,瀏覽器通常會(huì)在 div 元素前后放置一個(gè)換行符。

          3-3

          創(chuàng)建表格的五個(gè)元素:

          table、tbody、tr、th、td

          1、<table>…</table>:整個(gè)表格以<table>標(biāo)記開始、</table>標(biāo)記結(jié)束。

          2、<tbody>…</tbody>:當(dāng)表格內(nèi)容非常多時(shí),表格會(huì)下載一點(diǎn)顯示一點(diǎn),但如果加上<tbody>標(biāo)簽后,這個(gè)表格就要等表格內(nèi)容全部下載完才會(huì)顯示。如右側(cè)代碼編輯器中的代碼。(這個(gè)標(biāo)簽基本上不怎么用了)

          3、<tr>…</tr>:表格的一行,所以有幾對tr 表格就有幾行。

          4、<td>…</td>:表格的一個(gè)單元格,一行中包含幾對<td>...<td/>,說明一行中就有幾列。

          5、<th>…</th>:表格的頭部的一個(gè)單元格,表格表頭。

          6、表格中列的個(gè)數(shù),取決于一行中數(shù)據(jù)單元格的個(gè)數(shù)。

          表格還是需要添加一些標(biāo)簽進(jìn)行優(yōu)化,可以添加標(biāo)題和摘要

          <table summary="本表格記錄2012年到2013年庫存記錄,記錄包括U盤和耳機(jī)庫存量">

          <caption>2012年到2013年庫存記錄</caption>

          3-4

          1,使用<a>標(biāo)簽,鏈接到別一個(gè)頁面

          使用<a>標(biāo)簽可實(shí)現(xiàn)超鏈接,它在網(wǎng)頁制作中可以說是無處不在,只要有鏈接的地方,就會(huì)有這個(gè)標(biāo)簽。

          語法:

          <a href=”目標(biāo)網(wǎng)址”>鏈接顯示的文本</a>

          例如:

          <a >click here!</a>

          上面例子作用是單擊click here!文字,網(wǎng)頁鏈接到http://www.imooc.com這個(gè)網(wǎng)頁。

          3-5

          認(rèn)識(shí)<img>標(biāo)簽,為網(wǎng)頁插入圖片

          在網(wǎng)頁的制作中為使網(wǎng)頁炫麗美觀,肯定是缺少不了圖片,可以使用<img>標(biāo)簽來插入圖片。

          語法:

          <img src="圖片地址" alt="下載失敗時(shí)的替換文本" title="提示文本">

          舉例:

          <img src="myimage.gif" alt="My Image" title="My Image" />

          講解:

          1、src:標(biāo)識(shí)圖像的位置;

          2、alt:指定圖像的描述性文本,當(dāng)圖像不可見時(shí)(下載不成功時(shí)),可看到該屬性指定的文本;

          3、title:提供在圖像可見時(shí)對圖像的描述(鼠標(biāo)滑過圖片時(shí)顯示的文本);

          4、圖像可以是GIF,PNG,JPEG格式的圖像文件。

          四,表單標(biāo)簽(與用戶進(jìn)行交互)

          4-1

          表單是可以把瀏覽者輸入的數(shù)據(jù)傳送到服務(wù)器端,這樣服務(wù)器端程序就可以處理表單傳過來的數(shù)據(jù)。

          語法:

          <form method="傳送方式" action="服務(wù)器文件">

          講解:

          1.<form> :<form>標(biāo)簽是成對出現(xiàn)的,以<form>開始,以</form>結(jié)束。

          2.action :瀏覽者輸入的數(shù)據(jù)被傳送到的地方,比如一個(gè)PHP頁面(save.php)。

          3.method : 數(shù)據(jù)傳送的方式(get/post)。

          4-2

          <input>輸入框

          文本輸入框、密碼輸入框

          當(dāng)用戶要在表單中鍵入字母、數(shù)字等內(nèi)容時(shí),就會(huì)用到文本輸入框。文本框也可以轉(zhuǎn)化為密碼輸入框。

          語法:

          <form>

          <input type="text/password" name="名稱" value="文本" />

          </form>

          1、type:

          當(dāng)type="text"時(shí),輸入框?yàn)槲谋据斎肟?

          當(dāng)type="password"時(shí), 輸入框?yàn)槊艽a輸入框。

          2、name:為文本框命名,以備后臺(tái)程序ASP 、PHP使用。

          3、value:為文本輸入框設(shè)置默認(rèn)值。(一般起到提示作用)

          4-3

          文本域,支持多行文本輸入

          當(dāng)用戶需要在表單中輸入大段文字時(shí),需要用到文本輸入域。

          語法:

          <textarea rows="行數(shù)" cols="列數(shù)">文本</textarea>

          1、<textarea>標(biāo)簽是成對出現(xiàn)的,以<textarea>開始,以</textarea>結(jié)束。

          2、cols :多行輸入域的列數(shù)。

          3、rows :多行輸入域的行數(shù)。

          4-4

          單選框,復(fù)選框

          語法:

          <input type="radio/checkbox" value="值" name="名稱" checked="checked"/>

          1、type:

          當(dāng)type="radio"時(shí),控件為單選框

          當(dāng)type="checkbox"時(shí),控件為復(fù)選框

          2、value:提交數(shù)據(jù)到服務(wù)器的值(后臺(tái)程序PHP使用)

          3、name:為控件命名,以備后臺(tái)程序ASP、PHP使用

          4、checked:當(dāng)設(shè)置checked="checked"時(shí),該選項(xiàng)被默認(rèn)選中

          注意:同一組的單選按鈕,name取值一定要一致,這樣同一組的單選按鈕才可以起到單選的作用。

          4-5

          下拉列表框,節(jié)省空間

          下拉列表在網(wǎng)頁中也常會(huì)用到,它可以有效的節(jié)省網(wǎng)頁空間。既可以單選、又可以多選。

          語法:<option value="提交值">選項(xiàng)</option>

          提交值是向服務(wù)器提交的值,選項(xiàng)是顯示的值。

          <form action="save.php" method="post" >

          <label>愛好:</label>

          <select>

          <option value="看書">看書</option>

          <option value="旅游" selected="selected">旅游</option>

          <option value="運(yùn)動(dòng)">運(yùn)動(dòng)</option>

          <option value="購物">購物</option>

          </select>

          </form>

          4-6

          使用下拉列表框進(jìn)行多選

          下拉列表也可以進(jìn)行多選操作,在<select>標(biāo)簽中設(shè)置multiple="multiple"屬性,

          就可以實(shí)現(xiàn)多選功能,進(jìn)行多選時(shí)按下Ctrl鍵同時(shí)進(jìn)行單擊,可以選擇多個(gè)選項(xiàng)。

          如下代碼:

          <form action="save.php" method="post" >

          <label>愛好:</label>

          <select multiple="multiple">

          <option value="看書">看書</option>

          <option value="旅游">旅游</option>

          <option value="運(yùn)動(dòng)">運(yùn)動(dòng)</option>

          <option value="購物">購物</option>

          </select>

          </form>

          4-7

          在表單中有兩種按鈕可以使用,分別為:提交按鈕、重置。

          1,提交按鈕:當(dāng)用戶需要提交表單信息到服務(wù)器時(shí),需要用到提交按鈕。

          語法:

          <input type="submit" value="提交">

          type:只有當(dāng)type值設(shè)置為submit時(shí),按鈕才有提交作用

          value:按鈕上顯示的文字

          2,重置按鈕,重置表單信息

          當(dāng)用戶需要重置表單信息到初始時(shí)的狀態(tài)時(shí),比如用戶輸入“用戶名”后,發(fā)現(xiàn)書寫有誤,可以使用重置按鈕使輸入框恢復(fù)到初始狀態(tài)。只需要把type設(shè)置為"reset"就可以。

          語法:

          <input type="reset" value="重置">

          type:只有當(dāng)type值設(shè)置為reset時(shí),按鈕才有重置作用

          value:按鈕上顯示的文字

          五,css樣式

          5-1

          認(rèn)識(shí)css樣式

          CSS全稱為“層疊樣式表 (Cascading Style Sheets)”,它主要是用于定義HTML內(nèi)容在瀏覽器內(nèi)的顯示樣式,如文字大小、顏色、字體加粗等。

          如下列代碼:

          p{

          font-size:12px;

          color:red;

          font-weight:bold;

          }

          使用CSS樣式的一個(gè)好處是通過定義某個(gè)樣式,可以讓不同網(wǎng)頁位置的文字有著統(tǒng)一的字體、字號或者顏色等。

          5-2

          CSS代碼語法

          css 樣式由選擇符和聲明組成,而聲明又由屬性和值組成

          選擇符{屬性:值}

          p{color:red;}

          選擇符:又稱選擇器,指明網(wǎng)頁中要應(yīng)用樣式規(guī)則的元素,如本例中是網(wǎng)頁中所有的段(p)的文字將變成藍(lán)色,而其他的元素(如ol)不會(huì)受到影響。

          聲明:在英文大括號“{}”中的的就是聲明,屬性和值之間用英文冒號“:”分隔。當(dāng)有多條聲明時(shí),中間可以英文分號“;”分隔,如下所示:

          p{font-size:12px;color:red;}

          5-3

          從CSS 樣式代碼插入的形式來看基本可以分為以下3種:

          內(nèi)聯(lián)式、嵌入式和外部式三種

          1,內(nèi)聯(lián)式css樣式

          就是把css代碼直接寫在現(xiàn)有的HTML標(biāo)簽中,如下面代碼:

          <p style="color:red">這里文字是紅色。</p>

          css樣式代碼要寫在style=""雙引號中,如果有多條css樣式代碼設(shè)置可以寫在一起,中間用分號隔開。如下代碼:

          <p style="color:red;font-size:12px">這里文字是紅色。</p>

          2,嵌入式css樣式,

          就是可以把css樣式代碼寫在<style type="text/css"></style>標(biāo)簽之間。如下面代碼實(shí)現(xiàn)把三個(gè)<span>標(biāo)簽中的文字設(shè)置為紅色:

          <style type="text/css">

          span{

          color:red;

          }

          </style>

          嵌入式css樣式必須寫在<style></style>之間,并且一般情況下嵌入式css樣式寫在<head></head>之間。

          3,外部式css樣式

          寫在單獨(dú)的一個(gè)文件中

          外部式css樣式(也可稱為外聯(lián)式)就是把css代碼寫一個(gè)單獨(dú)的外部文件中,這個(gè)css樣式文件以“.css”為擴(kuò)展名,在<head>內(nèi)(不是在<style>標(biāo)簽內(nèi))使用<link>標(biāo)簽將css樣式文件鏈接到HTML文件內(nèi),如下面代碼:

          <link href="base.css" rel="stylesheet" type="text/css" />

          注意:

          1、css樣式文件名稱以有意義的英文字母命名,如 main.css。

          2、rel="stylesheet" type="text/css" 是固定寫法不可修改。

          3、<link>標(biāo)簽位置一般寫在<head>標(biāo)簽之內(nèi)。

          六,CSS選擇器

          每一條css樣式定義由兩部分組成,形式如下:

          選擇器{

          樣式;

          }

          在{}之前的部分就是“選擇器”,“選擇器”指明了{(lán)}中的“樣式”的作用對象,也就是“樣式”作用于網(wǎng)頁中的哪些元素

          6-1,標(biāo)簽選擇器

          標(biāo)簽選擇器其實(shí)就是html代碼中的標(biāo)簽。如右側(cè)代碼編輯器中的<html>、<body>、<h1>、<p>、<img>。例如下面代碼:

          p{font-size:12px;line-height:1.6em;}

          上面的css樣式代碼的作用:為p標(biāo)簽設(shè)置12px字號,行間距設(shè)置1.6em的樣式。

          6-2,類選擇器

          類選擇器在css樣式編碼中是最常用到的,如右側(cè)代碼編輯器中的代碼:可以實(shí)現(xiàn)為“膽小如鼠”、“勇氣”字體設(shè)置為紅色。

          語法:

          .類選器名稱{css樣式代碼;}

          注意:

          1、英文圓點(diǎn)開頭

          2、其中類選器名稱可以任意起名(但不要起中文噢)

          使用方法:

          第一步:使用合適的標(biāo)簽把要修飾的內(nèi)容標(biāo)記起來,如下:

          <span>膽小如鼠</span>

          第二步:使用class="類選擇器名稱"為標(biāo)簽設(shè)置一個(gè)類,如下:

          <span class="stress">膽小如鼠</span>

          第三步:設(shè)置類選器css樣式,如下:

          .stress{color:red;}/*類前面要加入一個(gè)英文圓點(diǎn)*/

          6-3,ID選擇器

          在很多方面,ID選擇器都類似于類選擇符,但也有一些重要的區(qū)別:

          1、為標(biāo)簽設(shè)置id="ID名稱",而不是class="類名稱"。

          2、ID選擇符的前面是井號(#)號,而不是英文圓點(diǎn)(.)。

          6-4,類和ID選擇器的區(qū)別

          相同點(diǎn):可以應(yīng)用于任何元素

          不同點(diǎn):

          1、ID選擇器只能在文檔中使用一次。與類選擇器不同,在一個(gè)HTML文檔中,ID選擇器只能使用一次,而且僅一次。而類選擇器可以使用多次。

          下面代碼是正確的:

          <p>三年級時(shí),我還是一個(gè)<span class="stress">膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯(cuò)了老師會(huì)批評我。就一直沒有這個(gè)<span class="stress">勇氣</span>來回答老師提出的問題。</p>

          而下面代碼是錯(cuò)誤的:

          <p>三年級時(shí),我還是一個(gè)<span id="stress">膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯(cuò)了老師會(huì)批評我。就一直沒有這個(gè)<span id="stress">勇氣</span>來回答老師提出的問題。</p>

          2、可以使用類選擇器詞列表方法為一個(gè)元素同時(shí)設(shè)置多個(gè)樣式。我們可以為一個(gè)元素同時(shí)設(shè)多個(gè)樣式,但只可以用類選擇器的方法實(shí)現(xiàn),ID選擇器是不可以的(不能使用 ID 詞列表)。

          下面的代碼是正確的(完整代碼見右側(cè)代碼編輯器)

          .stress{

          color:red;

          }

          .bigsize{

          font-size:25px;

          }

          <p>到了<span class="stress bigsize">三年級</span>下學(xué)期時(shí),我們班上了一節(jié)公開課...</p>

          上面代碼的作用是為“三年級”三個(gè)文字設(shè)置文本顏色為紅色并且字號為25px

          下面的代碼是不正確的(完整代碼見右側(cè)代碼編輯器)

          #stressid{

          color:red;

          }

          #bigsizeid{

          font-size:25px;

          }

          <p>到了<span id="stressid bigsizeid">三年級</span>下學(xué)期時(shí),我們班上了一節(jié)公開課...</p>

          上面代碼不可以實(shí)現(xiàn)為“三年級”三個(gè)文字設(shè)置文本顏色為紅色并且字號為25px的作用。

          6-5,子選擇器

          還有一個(gè)比較有用的選擇器子選擇器,即大于符號(>),用于選擇指定標(biāo)簽元素的子元素。如下面的代碼:

          .food>li{border:1px solid red;}

          這行代碼會(huì)使class名為food下的子元素li加入紅色實(shí)線邊框。

          6-6,包含(后代)選擇器

          包含選擇器,即加入空格,用于選擇指定標(biāo)簽元素下的后輩元素。如右側(cè)代碼編輯器中的代碼:

          .first span{color:red;}

          請注意這個(gè)選擇器與子選擇器的區(qū)別

          1,子選擇器(child selector)僅是指它的直接后代,或者你可以理解為作用于子元素的第一代后代

          2,后代選擇器是作用于所有子后代元素。后代選擇器通過空格來進(jìn)行選擇,而子選擇器是通過“>”進(jìn)行選擇。

          總結(jié):>作用于元素的第一代后代,空格作用于元素的所有后代。

          6-7,通用選擇器

          通用選擇器是功能最強(qiáng)大的選擇器,它使用一個(gè)(*)號指定,它的作用是匹配html中任意標(biāo)簽元素,如下使用下面代碼使用html中任意標(biāo)簽元素字體顏色全部設(shè)置為紅色:

          * {color:red;}

          6-8,偽類選擇符

          更有趣的是偽類選擇符,為什么叫做偽類選擇符,它允許給html不存在的標(biāo)簽設(shè)置樣式,比如說我們給html中一個(gè)標(biāo)簽元素的鼠標(biāo)滑過的狀態(tài)來設(shè)置字體顏色:

          a:hover{color:red;}

          這行代碼會(huì)使被<a></a>標(biāo)簽包裹的文字內(nèi)容中的“膽小如鼠”字體顏色在鼠標(biāo)滑過時(shí)變?yōu)榧t色。

          6-9,分組選擇符

          當(dāng)你想為html中多個(gè)標(biāo)簽元素設(shè)置同一個(gè)樣式時(shí),可以使用分組選擇符(,),如下代碼為右側(cè)代碼編輯器中的h1、span標(biāo)簽同時(shí)設(shè)置字體顏色為紅色:

          h1,span{color:red;}

          它相當(dāng)于下面兩行代碼:

          h1{color:red;}

          span{color:red;}

          七,CSS的繼承、層疊和特殊性。

          7-1

          CSS的某些樣式是具有繼承性的,那么什么是繼承呢?繼承是一種規(guī)則,它允許樣式不僅應(yīng)用于某個(gè)特定html標(biāo)簽元素,而且應(yīng)用于其后代。比如下面代碼:如某種顏色應(yīng)用于p標(biāo)簽,這個(gè)顏色設(shè)置不僅應(yīng)用p標(biāo)簽,還應(yīng)用于p標(biāo)簽中的所有子元素文本,這里子元素為span標(biāo)簽。

          但注意有一些css樣式是不具有繼承性的。如border:1px solid red;

          7-2

          根據(jù)權(quán)值來判斷使用哪個(gè)css樣式

          瀏覽器是根據(jù)權(quán)值來判斷使用哪種css樣式的,權(quán)值高的就使用哪種css樣式。

          下面是權(quán)值的規(guī)則:

          標(biāo)簽的權(quán)值為1,類選擇符的權(quán)值為10,ID選擇符的權(quán)值最高為100。例如下面的代碼:

          p{color:red;} /*權(quán)值為1*/

          p span{color:green;} /*權(quán)值為1+1=2*/

          .warning{color:white;} /*權(quán)值為10*/

          p span.warning{color:purple;} /*權(quán)值為1+1+10=12*/

          #footer .note p{color:yellow;} /*權(quán)值為100+10+1=111*/

          注意:還有一個(gè)權(quán)值比較特殊--繼承也有權(quán)值但很低,有的文獻(xiàn)提出它只有0.1,所以可以理解為繼承的權(quán)值最低

          7-3,層疊

          我們來思考一個(gè)問題:如果在html文件中對于同一個(gè)元素可以有多個(gè)css樣式存在并且這多個(gè)css樣式具有相同權(quán)重值怎么辦?好,這一小節(jié)中的層疊幫你解決這個(gè)問題。

          層疊就是在html文件中對于同一個(gè)元素可以有多個(gè)css樣式存在,當(dāng)有相同權(quán)重的樣式存在時(shí),會(huì)根據(jù)這些css樣式的前后順序來決定,處于最后面的css樣式會(huì)被應(yīng)用。

          如下面代碼:

          p{color:red;}

          p{color:green;}

          <p class="first">三年級時(shí),我還是一個(gè)<span>膽小如鼠</span>的小女孩。</p>

          最后 p 中的文本會(huì)設(shè)置為green,這個(gè)層疊很好理解,理解為后面的樣式會(huì)覆蓋前面的樣式。

          所以前面的css樣式優(yōu)先級就不難理解了:

          內(nèi)聯(lián)樣式表(標(biāo)簽內(nèi)部)> 嵌入樣式表(當(dāng)前文件中)> 外部樣式表(外部文件中)。

          7-4,重要性

          重要性

          我們在做網(wǎng)頁代碼的時(shí),有些特殊的情況需要為某些樣式設(shè)置具有最高權(quán)值,怎么辦?這時(shí)候我們可以使用!important來解決。

          如下代碼:

          p{color:red!important;}

          p{color:green;}

          <p class="first">三年級時(shí),我還是一個(gè)<span>膽小如鼠</span>的小女孩。</p>

          這時(shí) p 段落中的文本會(huì)顯示的red紅色。

          注意:!important要寫在分號的前面

          八,CSS格式化排版

          8-1

          文字排版

          1,文字排版--字體

          我們可以使用css樣式為網(wǎng)頁中的文字設(shè)置字體、字號、顏色等樣式屬性。下面我們來看一個(gè)例子,下面代碼實(shí)現(xiàn):為網(wǎng)頁中的文字設(shè)置字體為宋體。

          body{font-family:"宋體";}

          這里注意不要設(shè)置不常用的字體,因?yàn)槿绻脩舯镜仉娔X上如果沒有安裝你設(shè)置的字體,就會(huì)顯示瀏覽器默認(rèn)的字體。(因?yàn)橛脩羰欠窨梢钥吹侥阍O(shè)置的字體樣式取決于用戶本地電腦上是否安裝你設(shè)置的字體。)

          2,文字排版--字號、顏色

          可以使用下面代碼設(shè)置網(wǎng)頁中文字的字號為12像素,并把字體顏色設(shè)置為#666(灰色):

          body{font-size:12px;color:#666}

          3,文字排版--粗體

          我們還可以使用css樣式來改變文字的樣式:粗體、斜體、下劃線、刪除線,可以使用下面代碼實(shí)現(xiàn)設(shè)置文字以粗體樣式顯示出來。

          p span{font-weight:bold;}

          4,文字排版--斜體

          以下代碼可以實(shí)現(xiàn)文字以斜體樣式在瀏覽器中顯示:

          p a{font-style:italic;}

          <p>三年級時(shí),我還是一個(gè)<a>膽小如鼠</a>的小女孩。</p>

          5,文字排版--下劃線

          有些情況下想為文字設(shè)置為下劃線樣式,這樣可以在視覺上強(qiáng)調(diào)文字,可以使用下面代碼來實(shí)現(xiàn):

          p a{text-decoration:underline;}

          <p>三年級時(shí),我還是一個(gè)<a>膽小如鼠</a>的小女孩。</p>

          刪除線,在電商網(wǎng)站上經(jīng)常見。

          p a{text-decoration:line-through;}

          8-2

          段落排版

          1,段落排版--縮進(jìn)

          中文文字中的段前習(xí)慣空兩個(gè)文字的空白,這個(gè)特殊的樣式可以用下面代碼來實(shí)現(xiàn):

          p{text-indent:2em;}

          注意:2em的意思就是文字的2倍大小。

          2,段落排版--行間距

          這一小節(jié)我們來學(xué)習(xí)一下另一個(gè)在段落排版中起重要作用的行間距屬性(line-height),如下代碼實(shí)現(xiàn)設(shè)置段落行間距為1.5倍。

          p{line-height:1.5em;}

          3,段落排版--字間距、字母間距

          文字間隔、字母間隔設(shè)置:

          如果想在網(wǎng)頁排版中設(shè)置文字間隔或者字母間隔就可以使用 letter-spacing來實(shí)現(xiàn),如下面代碼:

          h1{

          letter-spacing:50px;

          }

          ...

          <h1>了不起的蓋茨比</h1>

          注意:這個(gè)樣式使用在英文單詞時(shí),是設(shè)置字母與字母之間的間距。

          單詞間距設(shè)置:

          如果我想設(shè)置英文單詞之間的間距呢?可以使用word-spacing來實(shí)現(xiàn)。如下代碼:

          h1{

          word-spacing:50px;

          }

          ...

          <h1>welcome to imooc!</h1>

          九,CSS盒模型

          9-1

          元素分類

          在講解CSS布局之前,我們需要提前知道一些知識(shí),在CSS中,html中的標(biāo)簽元素大體被分為三種不同的類型:塊狀元素、內(nèi)聯(lián)元素和內(nèi)聯(lián)塊狀元素。

          常用的塊狀元素有:

          <div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

          常用的內(nèi)聯(lián)元素有:

          <a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

          常用的內(nèi)聯(lián)塊狀元素有:

          <img>、<input>

          9-2

          元素分類--塊級元素

          什么是塊級元素?在html中<div>、 <p>、<h1>、<form>、<ul> 和 <li>就是塊級元素。設(shè)置display:block就是將元素顯示為塊級元素。如下代碼就是將行內(nèi)元素a轉(zhuǎn)換為塊狀元素,從頁使用a元素具有塊狀元素特點(diǎn)。

          a{display:block;}

          塊級元素特點(diǎn):

          1、每個(gè)塊級元素都從新的一行開始,并且其后的元素也另起一行。(真霸道,一個(gè)塊級元素獨(dú)占一行)

          2、元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。

          3、元素寬度在不設(shè)置的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設(shè)定一個(gè)寬度。

          9-3

          元素分類--行內(nèi)元素

          在html中,<span>、<a>、<label>、<input>、 <img>、 <strong> 和<em>就是典型的行內(nèi)元素(inline)元素。當(dāng)然塊狀元素也可以通過代碼display:inline將元素設(shè)置為行內(nèi)元素。

          行內(nèi)元素特點(diǎn):

          1、和其他元素都在一行上;

          2、元素的高度、寬度、行高及頂部和底部邊距不可設(shè)置;

          3、元素的寬度就是它包含的文字或圖片的寬度,不可改變。

          9-4

          元素分類--內(nèi)聯(lián)塊狀元素

          內(nèi)聯(lián)塊狀元素(inline-block)就是同時(shí)具備內(nèi)聯(lián)元素、塊狀元素的特點(diǎn),代碼display:inline-block就是將元素設(shè)置為內(nèi)聯(lián)塊狀元素。(css2.1新增),<img>、<input>標(biāo)簽就是這種內(nèi)聯(lián)塊狀標(biāo)簽。

          inline-block元素特點(diǎn):

          1、和其他元素都在一行上;

          2、元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。

          9-5

          盒模型--邊框(一)

          盒子模型的邊框就是圍繞著內(nèi)容及補(bǔ)白的線,這條線你可以設(shè)置它的粗細(xì)、樣式和顏色(邊框三個(gè)屬性)。

          如下面代碼為div來設(shè)置邊框粗細(xì)為2px、樣式為實(shí)心的、顏色為紅色的邊框:

          div{

          border:2px solid red;

          }

          上面是border代碼的縮寫形式,可以分開寫:

          div{

          border-width:2px;

          border-style:solid;

          border-color:red;

          }

          注意:

          1、border-style(邊框樣式)常見樣式有:

          dashed(虛線)| dotted(點(diǎn)線)| solid(實(shí)線)。

          2、border-color(邊框顏色)中的顏色可設(shè)置為十六進(jìn)制顏色,如:

          border-color:#888;//前面的井號不要忘掉。

          9-6

          盒模型--邊框(二)

          現(xiàn)在有一個(gè)問題,如果有想為p標(biāo)簽單獨(dú)設(shè)置下邊框,而其它三邊都不設(shè)置邊框樣式怎么辦呢?css樣式中允許只為一個(gè)方向的邊框設(shè)置樣式:

          div{border-bottom:1px solid red;}

          同樣可以使用下面代碼實(shí)現(xiàn)其它三邊上、右、左邊框的設(shè)置:

          border-top:1px solid red;

          border-right:1px solid red;

          border-left:1px solid red;

          9-7

          盒模型--邊界

          元素與其它元素之間的距離可以使用邊界(margin)來設(shè)置。邊界也是可分為上、右、下、左。如下代碼:

          div{margin:20px 10px 15px 30px;}

          也可以分開寫:

          div{

          margin-top:20px;

          margin-right:10px;

          margin-bottom:15px;

          margin-left:30px;

          }

          如果上下左右的邊界都為10px;可以這么寫:

          div{ margin:10px;}

          如果上下邊界一樣為10px,左右一樣為20px,可以這么寫:

          div{ margin:10px 20px;}

          總結(jié)一下:padding和margin的區(qū)別,padding在邊框里,margin在邊框外。

          9-8

          盒模型--填充

          元素內(nèi)容與邊框之間是可以設(shè)置距離的,稱之為填充。填充也可分為上、右、下、左。如下代碼:

          div{padding:20px 10px15px 30px;}

          順序一定不要搞混。可以分開寫上面代碼:

          div{

          padding-top:20px;

          padding-right:10px;

          padding-bottom:15px;

          padding-left:30px;

          }

          如果上、右、下、左的填充都為10px;可以這么寫

          div{padding:10px;}

          如果上下填充一樣為10px,左右一樣為20px,可以這么寫:

          div{padding:10px 20px;}

          9-9

          盒模型代碼簡寫

          還記得在講盒模型時(shí)外邊距(margin)、內(nèi)邊距(padding)和邊框(border)設(shè)置上下左右四個(gè)方向的邊距是按照順時(shí)針方向設(shè)置的:上右下左。具體應(yīng)用在margin和padding的例子如下:

          margin:10px 15px 12px 14px;/*上設(shè)置為10px、右設(shè)置為15px、下設(shè)置為12px、左設(shè)置為14px*/

          通常有下面三種縮寫方法:

          1、如果top、right、bottom、left的值相同,如下面代碼:

          margin:10px 10px 10px 10px;

          可縮寫為:

          margin:10px;

          2、如果top和bottom值相同、left和 right的值相同,如下面代碼:

          margin:10px 20px 10px 20px;

          可縮寫為:

          margin:10px 20px;

          3、如果left和right的值相同,如下面代碼:

          margin:10px 20px 30px 20px;

          可縮寫為:

          margin:10px 20px 30px;

          注意:padding、border的縮寫方法和margin是一致的。

          9-10

          顏色值縮寫

          關(guān)于顏色的css樣式也是可以縮寫的,當(dāng)你設(shè)置的顏色是16進(jìn)制的色彩值時(shí),如果每兩位的值相同,可以縮寫一半。

          例子1:

          p{color:#000000;}

          可以縮寫為:

          p{color: #000;}

          例子2:

          p{color: #336699;}

          可以縮寫為:

          p{color: #369;}

          十,CSS布局模型

          10-1

          css布局模型

          清楚了CSS 盒模型的基本概念、 盒模型類型, 我們就可以深入探討網(wǎng)頁布局的基本模型了。布局模型與盒模型一樣都是 CSS 最基本、 最核心的概念。 但布局模型是建立在盒模型基礎(chǔ)之上,又不同于我們常說的 CSS 布局樣式或 CSS 布局模板。如果說布局模型是本,那么 CSS 布局模板就是末了,是外在的表現(xiàn)形式。

          CSS包含3種基本的布局模型,用英文概括為:Flow、Layer 和 Float。

          在網(wǎng)頁中,元素有三種布局模型:

          1、流動(dòng)模型(Flow)

          2、浮動(dòng)模型 (Float)

          3、層模型(Layer)

          10-2

          流動(dòng)模型(一)

          流動(dòng)(Flow):自上而下。

          先來說一說流動(dòng)模型,流動(dòng)(Flow)是默認(rèn)的網(wǎng)頁布局模式。也就是說網(wǎng)頁在默認(rèn)狀態(tài)下的 HTML 網(wǎng)頁元素都是根據(jù)流動(dòng)模型來分布網(wǎng)頁內(nèi)容的。

          流動(dòng)布局模型具有2個(gè)比較典型的特征:

          第一點(diǎn),塊狀元素都會(huì)在所處的包含元素內(nèi)自上而下按順序垂直延伸分布,因?yàn)樵谀J(rèn)狀態(tài)下,塊狀元素的寬度都為100%。實(shí)際上,塊狀元素都會(huì)以行的形式占據(jù)位置。如右側(cè)代碼編輯器中三個(gè)塊狀元素標(biāo)簽(div,h1,p)寬度顯示為100%。

          第二點(diǎn),在流動(dòng)模型下,內(nèi)聯(lián)元素都會(huì)在所處的包含元素內(nèi)從左到右水平分布顯示。(內(nèi)聯(lián)元素可不像塊狀元素這么霸道獨(dú)占一行)

          右側(cè)代碼編輯器中內(nèi)聯(lián)元素標(biāo)簽a、span、em、strong都是內(nèi)聯(lián)元素。

          10-3浮動(dòng)模型

          塊狀元素這么霸道都是獨(dú)占一行,如果現(xiàn)在我們想讓兩個(gè)塊狀元素并排顯示,怎么辦呢?不要著急,設(shè)置元素浮動(dòng)就可以實(shí)現(xiàn)這一愿望。任何元素在默認(rèn)情況下是不能浮動(dòng)的,但可以用CSS定義為浮動(dòng),如div、p、table、img等元素都可以被定義為浮動(dòng)。如下代碼可以實(shí)現(xiàn)兩個(gè)div元素一行顯示。

          div{

          width:200px;

          height:200px;

          border:2px red solid;

          float:left;

          }

          <div id="div1"></div>

          <div id="div2"></div>

          注意:設(shè)置浮動(dòng)的同時(shí)一定要先設(shè)置塊狀元素的寬度,且需要浮動(dòng)的幾個(gè)元素寬度加起來一定要小于容器元素的寬度。

          10-4什么是層模型?

          什么是層布局模型?層布局模型就像是圖像軟件PhotoShop中非常流行的圖層編輯功能一樣,每個(gè)圖層能夠精確定位操作,但在網(wǎng)頁設(shè)計(jì)領(lǐng)域,由于網(wǎng)頁大小的活動(dòng)性,層布局沒能受到熱捧。但是在網(wǎng)頁上局部使用層布局還是有其方便之處的。下面我們來學(xué)習(xí)一下html中的層布局。

          如何讓html元素在網(wǎng)頁中精確定位,就像圖像軟件PhotoShop中的圖層一樣可以對每個(gè)圖層能夠精確定位操作。CSS定義了一組定位(positioning)屬性來支持層布局模型。

          層模型有三種形式:

          1、絕對定位(position: absolute)

          2、相對定位(position: relative)

          3、固定定位(position: fixed)

          1,層模型--絕對定位(相對于父類)

          如果想為元素設(shè)置層模型中的絕對定位,需要設(shè)置position:absolute(表示絕對定位),這條語句的作用將元素從文檔流中拖出來,然后使用left、right、top、bottom屬性相對于其最接近的一個(gè)具有定位屬性的父包含塊進(jìn)行絕對定位。如果不存在這樣的包含塊,則相對于body元素,即相對于瀏覽器窗口。

          如下面代碼可以實(shí)現(xiàn)div元素相對于瀏覽器窗口向右移動(dòng)100px,向下移動(dòng)50px。

          div{

          width:200px;

          height:200px;

          border:2px red solid;

          position:absolute;

          left:100px;

          top:50px;

          }

          <div id="div1"></div>

          2,層模型--相對定位(相對于以前)

          如果想為元素設(shè)置層模型中的相對定位,需要設(shè)置position:relative(表示相對定位),它通過left、right、top、bottom屬性確定元素在正常文檔流中的偏移位置。相對定位完成的過程是首先按static(float)方式生成一個(gè)元素(并且元素像層一樣浮動(dòng)了起來),然后相對于以前的位置移動(dòng),移動(dòng)的方向和幅度由left、right、top、bottom屬性確定,偏移前的位置保留不動(dòng)。

          如下代碼實(shí)現(xiàn)相對于以前位置向下移動(dòng)50px,向右移動(dòng)100px;

          #div1{

          width:200px;

          height:200px;

          border:2px red solid;

          position:relative;

          left:100px;

          top:50px;

          }

          <div id="div1"></div>

          3,層模型--固定定位(相對于網(wǎng)頁窗口)

          固定住某一坐標(biāo)。

          fixed:表示固定定位,與absolute定位類型類似,但它的相對移動(dòng)的坐標(biāo)是視圖(屏幕內(nèi)的網(wǎng)頁窗口)本身。由于視圖本身是固定的,它不會(huì)隨瀏覽器窗口的滾動(dòng)條滾動(dòng)而變化,除非你在屏幕中移動(dòng)瀏覽器窗口的屏幕位置,或改變?yōu)g覽器窗口的顯示大小,因此固定定位的元素會(huì)始終位于瀏覽器窗口內(nèi)視圖的某個(gè)位置,不會(huì)受文檔流動(dòng)影響,這與background-attachment:fixed?屬性功能相同。以下代碼可以實(shí)現(xiàn)相對于瀏覽器視圖向右移動(dòng)100px,向下移動(dòng)50px。并且拖動(dòng)滾動(dòng)條時(shí)位置固定不變。

          #div1{

          width:200px;

          height:200px;

          border:2px red solid;

          position:fixed;

          left:100px;

          top:50px;

          }

          10-5Relative與Absolute組合使用

          小伙伴們學(xué)習(xí)了12-6小節(jié)的相對定位的方法:使用position:absolute可以實(shí)現(xiàn)被設(shè)置元素相對于瀏覽器(body)設(shè)置定位以后,大家有沒有想過可不可以相對于其它元素進(jìn)行定位呢?答案是肯定的,當(dāng)然可以。使用position:relative來幫忙,但是必須遵守下面規(guī)范:

          1、參照定位的元素必須是相對定位元素的前輩元素:

          <div id="box1"><!--參照定位的元素-->

          <div id="box2">相對參照元素進(jìn)行定位</div><!--相對定位元素-->

          </div>

          從上面代碼可以看出box1是box2的父元素(父元素當(dāng)然也是前輩元素了)。

          2、參照定位的元素必須加入position:relative;

          #box1{

          width:200px;

          height:200px;

          position:relative;

          }

          3、定位元素加入position:absolute,便可以使用top、bottom、left、right來進(jìn)行偏移定位了。

          #box2{

          position:absolute;

          top:20px;

          left:30px;

          }

          這樣box2就可以相對于父元素box1定位了(這里注意參照物就可以不是瀏覽器了,而可以自由設(shè)置了)。

          有任何關(guān)于編程的問題都可以私信我,我看到后會(huì)及時(shí)解答。

          編程小石頭,為分享干貨而生!據(jù)說,每個(gè)年輕上進(jìn),顏值又高的互聯(lián)網(wǎng)人都關(guān)注了編程小石頭。


          主站蜘蛛池模板: 国产日韩视频一区| 日韩AV无码久久一区二区| 一区二区国产精品| 欧美亚洲精品一区二区| 亚洲视频一区二区三区| 无码人妻精品一区二区| 精品国产鲁一鲁一区二区 | 中文字幕色AV一区二区三区| 精品国产一区二区三区四区| 蜜桃无码AV一区二区| 久久er99热精品一区二区| 中文字幕无码不卡一区二区三区 | 中文人妻av高清一区二区| 人妻体内射精一区二区三四| 无码国产伦一区二区三区视频| 无码一区二区三区免费| 国产在线步兵一区二区三区| 成人日韩熟女高清视频一区| 无码乱码av天堂一区二区| 精品福利一区3d动漫| 一区二区三区人妻无码| 国产一区二区在线观看| 在线视频一区二区三区| 日本韩国黄色一区二区三区| 99久久精品国产一区二区成人 | 精品视频一区二区三区四区五区| 精品三级AV无码一区| 国产午夜精品一区二区三区不卡| 精品久久一区二区三区| 成人区人妻精品一区二区不卡| 久久一区二区三区免费播放| 国产一区二区三区不卡在线观看| 日韩精品无码免费一区二区三区 | 曰韩精品无码一区二区三区| 成人无码精品一区二区三区| 国产精品久久久久一区二区三区 | 精品成人av一区二区三区| 日本一区二区三区爆乳| 农村乱人伦一区二区| 亚洲日韩精品一区二区三区无码| 日韩精品无码久久一区二区三|