特殊的上下文選擇符

来源:http://www.cnblogs.com/lj-cn/archive/2017/08/16/7374616.html
-Advertisement-
Play Games

通過增刪選擇符熟練各個選擇符的用法:(註:筆者FF瀏覽器在源碼上註釋一部分內容後並不能改變運行後的輸出結果,必須刪除要註釋的內容才行) <!DOCTYPE html><html> <head> <style type="text/css"> section>h1 {font-style:italic ...


通過增刪選擇符熟練各個選擇符的用法:(註:筆者FF瀏覽器在源碼上註釋一部分內容後並不能改變運行後的輸出結果,必須刪除要註釋的內容才行)

<!DOCTYPE html>
<html>   
<head>
    <style type="text/css">
    section>h1 {font-style:italic;}
    h1+p {font-variant:small-caps;}
    h1~a {color:purple;}
    * h1 {color:red;}
    * p {color:blue;}
    * a {color:green;}
    p * {color:black;}
    </style>
</head>
<body>
<section>    
<h1>An H2 Heading</h1>    
<p>This is paragraph 1</p>    
<p>Paragraph 2 has <a href="#">a link</a> in it.</p>    嵌套標簽內標簽預設是紫色,且有下劃線   
<a href="#">Link</a>
</section>
</body>
</html>

最終效果:

1、 子選擇符>
標簽1 > 標簽2
標簽2必須是標簽1的子元素,或者反過來說,標簽1必須是標簽2的父元素。與常規的上下文選擇符不同,這個選擇符中的標簽1不能是標簽2的父元素之外的其他祖先元素。
section>h1 {font-style:italic;}

2、 緊鄰同胞選擇符+
標簽1 + 標簽2
標簽2必須緊跟在其同胞標簽1的後面。
h1 + p {font-variant:small-caps;}

3、 一般同胞選擇符~
標簽1 ~ 標簽2
標簽2必須跟(不一定緊跟)在其同胞標簽1後面。
h1 ~ a {color:purple;}

4、 通用選擇符*
通用選擇符*(常被稱為星號選擇符)是一個通配符,它匹配任何元素。

* p {color:blue;} 這樣只會把p包含的所有元素的文本變成l藍色;

p * {color:black;}會把p標簽下的內嵌標簽a link變成黑色;

a *{color:green;}把所有的a標簽變成綠色。

 

這個選擇符有一個非常有意思的用法,即用它構成非子選擇符。比如:
section * a {font-size:1.6em;}

任何是section孫子元素,而非子元素的a標簽都會被選中。至於a的父元素是什麼,沒有關係。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、表單標簽 所有需要提交到伺服器端的表單項必須使用<form></form>括起來! form 標簽屬性: action,整個表單提交的位置(可以是一個頁面,也可以是一個後臺 java 代碼) method,表單提交的方式(get/post/delete……等 7 種) Get 與 post 提交 ...
  • 1.行間樣式給單獨的標簽添加樣式.<div style="width:100px; height:100px; background-color:red;"></div>優點:比較方便可以即時的添加屬性。缺點:修改屬性非常麻煩、需要一個個去修改。 2.內聯樣式表<style>div{ <!--選擇器 ...
  • 何為Curry化/柯里化? curry化來源與數學家 Haskell Curry的名字 (編程語言 Haskell也是以他的名字命名)。 柯里化通常也稱部分求值,其含義是給函數分步傳遞參數,每次傳遞參數後部分應用參數,並返回一個更具體的函數接受剩下的參數,這中間可嵌套多層這樣的接受部分參數函數,直至 ...
  • 迭代器是指通過一種形式依次遍曆數組,對象,或者類數組結構中的每個元素. 常見的有jquery中的each方法, ES5自帶的forEach方法. 下麵我們就來自定義一個類似jquery或者ES5的迭代器方法 輸出結果: ["zhangsan", "lisi", "ghostwu"] "zhangsa ...
  • 所用move.js ...
  • 百度一下,自己也想了一下,有一種簡單,無腦的方式分享給你: <input ng-model="start" id="start" placeholder="開始日期" style="width:156px;" class="form-control date-picker" data-date-fo ...
  • Java對cookie的操作 package cn.utils; import java.util.HashMap; import java.util.Map; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServl ...
  • jQuery知識重構 目錄: 一、入口函數 1 $(document).ready(function(){}); 2 $(function(){}); jQuery入口函數與js入口函數的區別: jQuery的入口函數是在 html所有標簽都載入之後,就會去執行。 Js的window.onload事 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...