章我們給大家講解一下什么是css選擇器?css3中5種常見的基本選擇器。有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
一:什么是css選擇器?
CSS是一種用于屏幕上渲染html,xml等一種語言,CSS主要是在相應的元素中應用樣式,來渲染相對應用的元素,那么這樣我們選擇相應的元素就很重要了,如何選擇對應的元素,此時就需要我們所說的選擇器。在 CSS 中,選擇器是一種模式,用于選擇需要添加樣式的元素。選擇器主要是用來確定html的樹形結構中的DOM元素節點。
二:css3中5種常見的基本選擇器
css3中的選擇器種類有很多,下面介紹的是5種常見的基本選擇器:通配選擇器,類選擇器,元素選擇器, ID選擇器和群組選擇器。
1.通配符選擇器(所有瀏覽器支持)
通用選擇器用*來表示,用來選擇所有元素,,也可以選擇某個元素下的所有元素;
*{marigin: 0;
padding: 0;
font-size: 14px;
}
上面代碼大家在reset樣式文件中看到的肯定不少,他所表示的是,所有元素的margin和padding都設置為0,字體大小都設置為14px,另外一種就是選擇某個元素下的所有元素:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>通配符選擇器</title>
<style>
.demo * {
width: 50px;
height: 50px;
border:1px solid blue;
margin: 10px;
}
</style>
</head>
<body>
<div class="demo">
<div>1</div>
<p>2</p>
<span>3</span>
</div>
</body>
</html>
效果圖:
我們可以看到在demo元素里的三個子元素div,p,span都是分別沒有設置css樣式的,但只要我們設置了demo元素下的所有元素的統一樣式,那么demo元素里的三個子元素div,p,span就會出現樣式。
對了,在這里說一下,我目前是在職web前端開發,如果你現在正在學習前端,了解前端,渴望成為一名合格的web前端開發工程師,在入門學習前端的過程當中有遇見任何關于學習方法,學習路線,學習效率等方面的問題,都可以隨時關注并私信我:前端,我都會根據大家的問題給出針對性的建議,缺乏基礎入門的視頻教程也可以直接來找我,我這邊有最新的web前端基礎精講視頻教程, 還有我做web前端技術這段時間整理的一些學習手冊,面試題,開發工具,PDF文檔書籍教程,都可以直接分享給大家。
2.類選擇器 (所有瀏覽器都支持類選擇器,但多類選擇器(.className1.className2)不被ie6支持。)
類選擇器根據類名來選擇,前面以”.”來標志,是以一獨立于文檔元素的方式來指定樣式,使用類選擇器之前需要在html元素上定義類名,換句話說需要保證類名在html標記中存在。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>類選擇器</title>
<style>
.demo {
width: 200px;
height: 200px;
margin: 50px auto;
background: #2DC4CB;
}
</style>
</head>
<body>
<div class="demo">類選擇器</div>
</body>
</html>
效果圖:
3.元素選擇器(所有瀏覽器支持)
元素選擇器(標簽名選擇器),是css3選擇器中最常見而且最基本的選擇器。元素選擇器其實就是文檔的元素,如html,body,p,div等等下下面例子中選擇了span元素,并設置了字體顏色為紅色。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>元素選擇器</title>
<style>
.demo {
width: 200px;
height: 200px;
margin: 50px auto;
}
span{
color: red;
}
</style>
</head>
<body>
<div class="demo">
<p>這里使用<span>元素選擇器</span>改變了樣式</p>
</div>
</body>
</html>
效果圖:
4.ID選擇器(所有瀏覽器都支持)
ID選擇器和上面說的類選擇器是很相似的,在使用ID選擇器之前也需要先在html文檔中加注ID名稱,這樣在樣式選擇器中才能找到相對應的元素,不同的是ID選擇器是一個頁面中唯一的值,我們在類使用時是在相對應的類名前加上一個“.”號(.className)而id選擇器是在名稱前使用"#"如(#demo)。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ID選擇器</title>
<style>
#demo {
width: 200px;
height: 200px;
margin: 50px auto;
background: #FF0000;
}
</style>
</head>
<body>
<div id="demo">ID選擇器</div>
</body>
</html>
效果圖:
ID選擇器有幾個地方需要特別注意:
第一:一個文檔中一個id選擇器只充許使用一次,因為id在頁面中是唯一的;
第二,id選擇器不能像類選擇器一樣多個合并使用,一個元素只能命名一個id名;
第三,可以在不同的文檔中使用相同的id名,比如說在“test.html”中給h1定了“#important”,也可給“test1.html”中定義p的id為"#important",但前提是不管在test.html還是test1.html中只充許有一個id叫"#important"的存在。
5.群組選擇器(所有瀏覽器都支持)
當幾個元素樣式屬性一樣時,可以共同調用一個聲明,元素之間用逗號分隔。群組選擇器是將具有相同樣式的元素分組在一起,每個選擇器之間使用逗號“,”隔開,這個逗號告訴瀏覽器,規則中包含多個不同的選擇器,如果不有這個逗號,那么所表達的意就完全不同了,省去逗號就成了我們前面所說的后代選擇器,這一點大家在使用中千萬要小心加小心。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>群組選擇器</title>
<style>
.demo {
width: 200px;
height: 200px;
margin: 50px auto;
background: #FF0000;
}
p,li{
color: blue;
}
.demo1,.demo2{
color: #fff;
}
</style>
</head>
<body>
<div class="demo">
<p>這里是一個段落!</p>
<ul><li>列表</li></ul>
<a href="#" class="demo1">鏈接一</a><br>
<span class="demo2">文字文字!</span>
</div>
</body>
</html>
效果圖:
以上就是什么是css選擇器?css3中5種常見的基本選擇器(代碼實例)的詳細內容,更多請關注我?。。?/p>
作者:程序猿的生活
鏈接:https://zhuanlan.zhihu.com/p/152153067
前在用fourinone分布式框架的時候需要做一個Web頁面,可以借助fourinone的api展示各存儲節點的樹形目錄結構。我最初的思路是利用遞歸掃面各節點下的文件和目錄,并將其存儲在數據庫。然后從數據庫取出展示。額,好像跑題了... 不管了,總之每個節點的文件和目錄的數量太大,所以只能是找一個可以異步加載并顯示樹形目錄結構的框架。于是我百度到了zTree。 zTree 是一個依靠 jQuery 實現的多功能 “樹插件”。優異的性能、靈活的配置、多種功能的組合是 zTree 最大優點。
今天我們先來學習一下如何靜態加載數據并顯示出樹形目錄結構。
首先,zTree是基于jQuery的,所以先在網頁中引入jq,然后引入zTree的js文件和css樣式文件。
<link rel="stylesheet" href="css/metroStyle.css" type="text/css">
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/jquery.ztree.core.js"></script>
然后創建一個顯示區域
<div id="demotree" style="margin-left:230px;margin-top:50px"> <!--定義div來放樹-->
<ul id="treeDemo" class="ztree"></ul> <!--樹的本質是無序列表,綁定數據時根據數據的關系添加li或ul-->
</div>
然后定義json格式的數據
var treeNodes=[ {"id":"1","name":"Demo1","isParent":"1","pId":"0"},
{"id":"2","name":"Demo2","isParent":"1","pId":"1"},
{"id":"3","name":"Demo3","isParent":"1","pId":"1"},
{"id":"4","name":"Demo4","isParent":"0","pId":"2"},
{"id":"5","name":"Demo5","isParent":"0","pId":"2"},
{"id":"6","name":"Demo6","isParent":"1","pId":"3"},
{"id":"7","name":"Demo7","isParent":"0","pId":"1"},
{"id":"8","name":"Demo8","isParent":"0","pId":"2"},
{"id":"9","name":"Demo9","isParent":"0","pId":"3"},
{"id":"10","name":"Demo10","isParent":"0","pId":"6"},
{"id":"11","name":"Demo11","isParent":"0","pId":"1"}
];//id是節點id,pId是父節點id,通過他們的關系來綁定
接著對樹進行設置
var setting={//樹的設置
//外觀
view: {
showIcon: true, //設置是否顯示節點圖標
showLine: true, //設置是否顯示節點與節點之間的連線
fontCss : {color:"black",size:30}//字體顏色和大小
},
//數據類型
data: {
simpleData: {
enable: true, //設置是否啟用簡單數據格式(json格式)
}
},
//回調事件
callback: {//這里可以做很多回調,比如點擊,點擊前等等,在下一篇的動態加載數據中會介紹
}
};
最后是對樹進行初始化
var zTree;
$(document).ready(function(){//全部加載完后執行
$.fn.zTree.init($("#treeDemo"), setting, treeNodes); //初始化樹
});
效果圖如下
全部代碼如下
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>zTreeDemo</title>
<link rel="stylesheet" href="css/metroStyle.css" type="text/css">
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/jquery.ztree.core.js"></script>
</head>
<body align="center" >
<div id="demotree" style="margin-left:230px;margin-top:50px"> <!--定義div來放樹-->
<ul id="treeDemo" class="ztree"></ul> <!--樹的本質是無序列表,綁定數據時根據數據的關系添加li或ul-->
</div>
</body>
<script type="text/javascript">
var treeNodes=[ {"id":"1","name":"Demo1","isParent":"1","pId":"0"},
{"id":"2","name":"Demo2","isParent":"1","pId":"1"},
{"id":"3","name":"Demo3","isParent":"1","pId":"1"},
{"id":"4","name":"Demo4","isParent":"0","pId":"2"},
{"id":"5","name":"Demo5","isParent":"0","pId":"2"},
{"id":"6","name":"Demo6","isParent":"1","pId":"3"},
{"id":"7","name":"Demo7","isParent":"0","pId":"1"},
{"id":"8","name":"Demo8","isParent":"0","pId":"2"},
{"id":"9","name":"Demo9","isParent":"0","pId":"3"},
{"id":"10","name":"Demo10","isParent":"0","pId":"6"},
{"id":"11","name":"Demo11","isParent":"0","pId":"1"}
];//id是節點id,pId是父節點id,通過他們的關系來綁定
var setting={//樹的設置
//外觀
view: {
showIcon: true, //設置是否顯示節點圖標
showLine: true, //設置是否顯示節點與節點之間的連線
fontCss : {color:"black",size:30}//字體顏色和大小
},
//數據類型
data: {
simpleData: {
enable: true, //設置是否啟用簡單數據格式(json格式)
}
},
//回調事件
callback: {
}
};
var zTree;
$(document).ready(function(){//全部加載完后執行
$.fn.zTree.init($("#treeDemo"), setting, treeNodes); //初始化樹
});
</script>
</html>
最后謝謝大家觀看,下一篇是利用ajax和zTree動態加載樹形目錄結構,實現點擊一個文件夾加載一層。
對了!還有,zTree可以到它的官網下載,里面也包含了jQuery。再見!
lt;!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jquery入口函數</title>
<!--1. 使用CDN網絡地址-->
<!-- <script src="https://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js"></script>--> <script src='js/jquery/jquery.min.js'></script>
<script type='text/javascript'>
/* jquery相關入口函數 */
$(document).ready(function(){
alert('jquery的入口函數')
})
$(function(){
console.log('jquery的入口函數簡寫版')
})
$(function(){
/* 根據id找 html包含全部內容 text只是文本內容 */
console.log($('#t').html())
console.log($('#t').text())
/* 根據標簽找相關數據長度 */
var fruit=$('li')
for(var j=0;j<=fruit.length;j++){
console.log(fruit[j])
}
console.log($('li').length)
/* 根據類名找相關數據的長度 */
var all=$('.fruit')
for(var i=0;i<=all.length;i++){
console.log(all[i])
}
console.log($('.fruit').length)
})
/* js和jquery之間的相互轉化 */
$(function(){
/* javascript格式---->jquery格式的轉化 */
console.log(document.getElementById("t").innerHTML)
var t1=document.getElementById("t")
console.log($(t1))
console.log($(t1).html())
console.log($(t1).text())
/* jquery格式----javascript格式之間進行轉化 */
console.log($('#t')[0].innerHTML)
console.log($('#t').get(0).innerHTML)
console.log($('.fruit')[2].innerText)
})
/* 層級選擇器 */
$(function(){
/* 空格表示包含的所有 */
console.log($('.div1 h1').length)
//> 表示下級
console.log($('.div1 > h1').length)
for (var i=0;i<=$('.div1 > h1').length;i++){
console.log($('.div1 > h1')[i])
}
// aaa相鄰的下一個
console.log($('.aa + h1').html)
// aaa的所有兄弟
console.log($('.aa ~ h1').length);
})
</script>
</head>
<body>
<!-- 層級選擇器 樹狀結構 父級 子級 兄弟級 -->
<div class='div1'>
<h1 class='aa'>aaaaaaaa</h1>
<h1>bbbbbbbb</h1>
<div class='div2'>
<h1>11111111</h1>
<h1>22222222</h1>
<h1>33333333</h1>
</div>
<h1>cccccccc</h1>
</div>
<h1 id='t'><i>標題</i></h1>
<ul>
<li class='fruit'>蘋果</li>
<li class='fruit'>香蕉</li>
<li class='fruit'>橘子</li>
<li class='fruit'>梨子</li>
<li class='fruit'>葡萄</li>
</ul>
</body>
</html>
*請認真填寫需求信息,我們會在24小時內與您取得聯系。