03 通配符选择器 选择器深入讨论(父子选择器、多选择器并存问题、优先级)

通配符选择器

如果希望所有的元素都符合某一种样式,可以使用通配符选择器。

* {margin: 0;padding: 0}

*(表示所有的元素)

可以让所有html元素的外边框和内边距都默认为0,有时特别有用。

不同的浏览器对不同的左边距和上边距的指定大小是不一样的

一般网页设计师把被内边距和上边距清零,这样就可以避免不同浏览器因边距不同导致打开网页后布局混乱。

这样我们就可以通配符

Margin外边距:定义元素周围的空间。

Padding内边距:元素边框与元素内容之间的空白。

css11-1.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>css11-1.html</title>

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

    <!-- 引入外部css文件  -->
    <link rel="stylesheet" type="text/css" href="./css11-1.css">

  </head>

  <body>
      <p>北京,你好!</p>
    <span class="style1" id="special_new">新闻1</span>
    <span class="style1" >新闻2</span>
    <span class="style1 style4">新闻3</span>
    <span class="style1" >新闻4</span>
    <span class="style1" >新闻5</span><br/><br/>
    <span id="style2" >这是一则<span>非常重要</span>的新闻</span>

  </body>
</html>

css11-1.css

/*style1是 类选择器*/
.style1 {
    font-weight: bold;
    font-size: 20px;
    background-color:pink;
    color:black;
}

/*style2是 id选择器   id 属性只能在每个 HTML 文档中出现一次*/
#style2 {
    font-size:30px;
    background-color:silver;
    color:black;
}

#special_new {
    font-style:italic;
    color:red;
}

.style4 {
    font-style:italic;
    text-decoration: underline;
}

/*父子选择器*/
#style2 span{
    font-style:italic;
    color:red;
}

/*html选择器(CSS 属性选择器)  选择器的名字必须为html元素的名称    */
body {
    color:orange;
}

/*使用通配符选择器,对外边距和内边距清0, 也可以明确指定*/
* {
    /*margin:0px;*/
    /*方法一
    margin-top: 10px;
    margin-right:0px;
    margin-bottom:0px;
    margin-left:10px;
    */

    /*方法二: 上 右 下 左*/
    /*如果margin给出四个值则表示 上 右 下 左
    如果给出三个值:上-左右-下 (第二个值用于左右)
    */
    margin:0px 0px 0px 0px;
    /*padding 的规范和margin一样*/
    padding :0px;
}

显示效果:

通配符选择器:

/*使用通配符选择器,对外边距和内边距清0, 也可明确指定*/
*{

    /*margin:0px;*/
    /*方法一
    margin-top: 10px;
    margin-left:10px;
    margin-right:0px;
    margin-bottom:0px;
    */

    /*方法二: 上 右 下 左*/
    /*如果margin给出四个值则表示 上 右 下 左
    如果给出三个值:上-左右-下
    */
    margin:10px 0px 0px 10px;
    /*padding 的规范和margin一样*/
    padding :0px;
}

①父子选择器

需求:

<span id="style2">这是一则<span>非常重要</span>的新闻</span></br>

My.css添加一个父子选择器

/*父子选择器*/
#style2 span{
    font-style:italic;
    color:red;
}

注意:

①子选择器标签是html可以识别的标记

②父子选择器可以有多级

③父子选择器可以适用 类选择器,id选择器。

希望新闻三 下划线,同时斜体

一个元素可以用id和class选择器同时修饰。

元素修饰不冲突时会相安无事,发生冲突时以id选择器为准。

新闻一变为斜体,红色

<span class="style1"  id="special_news">新闻一</span>

#special_new {
    font-style:italic;
    color:red;
}

希望新闻三 下划线,同时斜体

思路:

(1)可以给新闻三配置id选择器

(2)再指定一个class类选择器选择器

一个元素可以同时有class类选择器、id选择器来修饰如果发生冲突时以id选择器的优先级大于class类选择器

一个元素最多只可以有一个id选择器,但是可以有多个类选择器

<span class="style1 style4">新闻三</span>

My.css:
.style4{
    font-style:italic;
    text-decoration: underline;
}

Html中如何使用class选择器:

①在引用多个 class选择器的时候,用空格隔开

②当class选择器发生冲突时,以在css文件中最后出现的class选择器样式为准。

总结:

 当一个元素被 id选择器,类选择器,html选择器,通配符选择器同时限定时,优先级是:

id选择器 > 类选择器 > html选择器 >通配符选择

在css文件中,如果有多个类/id选择器他们都有相同的部分,我们可以把相同的css样式放在一起。

案例说明:

案例:my.css

/*招生广告*/
.ad_stu{
Width:136px;
Height:136px;
Background-color:#FC7E8C;
Margin:5px 0 0 5px;
Float: left;
}

/*广告二*/
.ad_2{

Background-color:#7F574;
Height:196px;
Width:457px;
Float: left;
Margin:5px 0 0 6px;

}
/*房地产广告*/
.ad_house{
Background-color:#7CF574;
Width:152px;
Height:196px;
Margin:5px 0 0 6px;
Float: left;
}

在有些css中我们可以多个class选择器或者id选择器,html选择器,共同的部分提出,这样的好处,可以简化css文件。

上面的my.css文件可以写成:

案例:my.css

/*招生广告*/
.ad_stu{
Width : 136px;
Background-color: #FC7E8C;
Margin :5px 0 0 5px;
}
/*广告二*/
.ad_2{

Background-color:#7CF574;
Width:457px;
Margin:5px 0 0 6px;

}
/*房地产广告*/
.ad_house{
Background-color:#7CF574;
Width:152px;
Margin:5px 0 0 6px;
}
.ad_stu, .ad_2, ad_house{
Height: 196px;
Float: left;

}
时间: 2024-10-14 22:03:58

03 通配符选择器 选择器深入讨论(父子选择器、多选择器并存问题、优先级)的相关文章

jQuery的选择器中的通配符[id^=&#39;code&#39;]或[name^=&#39;code&#39;]及jquery选择器总结

1.选择器 (1)通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='code']");//id属性以code结束的所有input标签 $("input[id*='code']");//id属性包含code的所有input标签 $("input[name^='code']");//name属性以code开始的所有input标签 $("in

关于css选择器的一些事 第一章 基本选择器!

关于选择器,好多人小伙伴只用了最基本的几个选择器,感觉这玩意没有啥学的,讲道理,确实也没啥学的.但是,选择器种类掌握的越多,编写代码起来就会越轻松,为啥呢.举个例子吧!先上一串代码和效果,就知道我想表达什么了! 上面一个五列的li,代码如下 <style> *{margin:0;padding: 0;list-style: none} ul{display: flex} li{flex: 1;text-align: center;border-left: 1px solid red} li:n

css选择器(2)——属性选择器和基于元素结构关系的选择器

在有些标记语言中,不能使用类名和id选择器,于是css2引入了属性选择器. 3.属性选择器 a)根据是否存在该属性来选择 如果希望选择有某个属性的元素,例如要选择有class属性的所有h1元素,使其文本为银色,可以这样写: /*根据单个属性来选择*/h1[class]{ color:sliver; }/*还可以根据多个属性来选择*/h1[class][id]{ color:yellow;} b)根据具体属性值来选择 <style> /*也可以利用多个属性值来选择,第二段变成了红色*/ p[cl

CSS选择器详解(二)通用选择器和高级选择器

目录 通用选择器 高级选择器 子选择器 相邻兄弟选择器 属性选择器 通用选择器 通用选择器可以选择页面上的所有元素,并对它们应用样式,用 * 来表示. 语法: * { property1: value; property2: value; } 示例: * { margin:0; padding:0;} 这行代码可以删除每个元素在浏览器中margin和padding的默认值.不同的浏览器对元素的默认margin和padding可能不同,用通用选择器把所有元素的margin和padding都设置为0

H5与CS3权威下.19 选择器(2)结构性伪类选择器

1.CSS中的伪类选择器及伪元素 (1)与自定义的class类选择器不同,伪类选择器是CSS中已经定义好的选择器. eg:a:link{color:#ff0000;} (2)伪元素的使用方法: 选择器:伪元素{属性:值} 选择器.类名:伪元素{属性:值} 2.css中常用的伪元素选择器 (1)first-line:向某元素中的第一行文字使用样式. eg: 1 <p>伪元素选择器 <br>类选择器</p> 1 p:first-line{background: pink;}

[ jquery 属性 .selector ] 此选择器返回传给jQuery()的原始选择器

返回传给jQuery()的原始选择器:换句话说,就是返回你用什么选择器来找到这个元素的.可以与context一起使用,用于精确检测选择器查询情况.这两个属性对插件开发人员很有用 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my pag

[ jquery 子元素选择器 总结 ] 总结: 伪类子元素选择器

总结: 伪类中的子元素选择器: 第一种类型: :first-child :last-child :nth-child() :nth-last-child() 第二种类型: :only-child :only-of-type 第三种类型: :first-of-type :nth-last-of-type() :nth-of-type() 特点: 伪类选择器很有特点: 1.位置:可以直接通过伪类选择器直接获取开始 结束 和第几个,通常和目标元素在什么位置上有关,可以从正着数,也可以从倒着数,计数从

jQuery选择器使用及举例3-内容过滤选择器

<!DOCTYPE html><html><head> <title></title> <meta charset="utf-8"> <script type="text/javascript" src="jquery-3.1.1.js"></script> <script type="text/javascript">

CSS选择器与jQuery选择器的异同:一些特殊的选择器

在CSS3选择器标淮草案定义的选择器语法中,jQuery支持相当完整的一套子集,同时还添加了一些非标准但很有用的伪类.下面是一些jQuery扩展的选择器:(来自http://www.cnblogs.com/MaxIE/p/4078869.html) jQuery选择过滤器 过滤器 含义 #id 匹配id属性为id的元素.在有效的}ITML文档中,永远不会出现多个元素拥有相同的ID,因此该过滤器通常作为独立选择器来使用 .class 匹配class属性(是一串被解析成用空格分隔的单词列表)含有cl