前端学习(十):CSS选择器

进击のpython


前端学习——CSS选择器



每一条CSS样式声明由两部分组成:

选择器{
    样式;
}

在CSS中{}之前的部分就是”选择器”,”选择器”指明了{}中的”样式“的作用对象

也就是说该”样式“作用与网页中的哪些元素

那选择器就分为:基础选择器和高级选择器


基础选择器

标签选择器

标签选择器顾名思义就是html代码中的标签

我们之前学习的html、body、h系列的标签、p、div、img等等我们都可以使用标签选择器来设置对应的css样式属性

它可以选中页面中所有的元素,而不是某一个元素内容,所以选中的是页面中共有的属性

举个栗子:为页面中所有的段落设置字号为12px,字体颜色为红色,字体粗细为更粗

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

ID选择器

ID好比是每个人的身份证号一样,每个人都有身份证,而且身份证号都是不一样的

那么在网页中所有的标签都可以设置ID,并且ID不能重复

#ID选择器名称{
    css样式代码;
}

注意:

1、以#开头

2、其中ID选择器名称可以任意起名(最好不要起中文)

3、ID的名称必须是唯一的

4、不能用数字开头

ID选择器选中的是页面中元素特有的属性

我想把,我,你都变成紫色,很明显仅靠标签选择器就不行了

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        span {
            color: red;
        }

        #span1, #span2 {
            color: purple;
        }
    </style>

</head>
<body>
<p>
    <span>百因必有果!</span><span id="span1">你</span>的报应就是<span id="span2">我</span>!
</p>

</body>
</html>

类选择器

类选择器跟id有点相似,任何的标签元素都可以添加类(class)

但是不同的是类是可以重复,有“归类”的概念,并且同一个标签中可以携带多个类,用空格隔开

比如狗、猫、刺猬属于动物类,黑白打印机和彩色打印机属于打印机类

同样情况下,比如网页中的某几个标签,像p、li、a标签同属于active类

那么我们就可以这边表示<p class=‘active‘></p>,语法如下:

.类选择器名称{css样式代码;}

注意:

1、英文圆点开头

2、其中类选择器名称可以任意起名(最好不要起中文)

3、不能用数字开头

既然类可以重复添加,并且同一个标签可以添加多个类

那么我们在使用类选择器的使用一定要有公共类的概念

举个例子:

比如有三个同样的文本内容

<p>同仁堂</p>
<p>同仁堂</p>
<p>同仁堂</p>

现在有个需求,要求第一个同仁堂文本颜色是绿色并且字体大小是20px

第二个同仁堂的文本颜色也是绿并且文本粗细更粗

第三个同仁堂文本颜色是默认黑色且文本粗细更粗并且字体大小也为20px

如果用我们的id选择器来书写的话,我们看一下代码。代码如下:

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      #p1{
        color:green;
        font-size:20px;
      }
      #p2{
        color:green;
        font-weight:bold;
      }
      #p3{
        font-weight:bold;
        font-size:20px;
      }
    </style>
  </head>
  <body>
    <p id='p1'>同仁堂</p>
    <p id='p2'>同仁堂</p>
    <p id='p3'>同仁堂</p>
  </body>
</html>

如果我们有公共类的概念,我们会通过需求发现:

p1和p2有公共属性字体颜色为绿色,

p1和p3有公共属性字体大小为20px,

p2和p3有公共属性字体粗细为更粗

那么我们可以给每个p标签设置相应的类,代码如下:

<p class="lv big">同仁堂</p>
<p class="lv bold">同仁堂</p>
<p class="big bold">同仁堂</p>

CSS代码:

<style>
    .lv{
        color:green;
    }
    .big{
        font-size:20px
    }
    .bold{
        font-weight:bold;
    }
</style>

那么,会发现明显更有效的使用类,能有效的减少一些冗余性的代码


高级选择器

后代选择器

顾名思义,所谓后代,就是父亲的所有后代(包括儿子、孙子、重孙子等)

div p{
    css代码样式;
}

使用空格表示后代选择器,上面表示 div是父元素,而p是div的后代元素

之前咱们讲解div标签的时候,说到div是一个容器,它可以装任何内容

这样我们能联想到我们的html结构应该是这样的:

<div>
    <p>Penglin</p>
</div>

刚刚咱们又学习完了基本的选择器,我们也可以给div命名

比如<div class="container"></div>,那么css的编写如下代码:

.container p{
    color:red;
}

也就是container类下的所有p标签都是红色的

子代选择器

子代,仅仅表示父亲的亲儿子,只有亲儿子。使用>表示子代选择器

div>p{css代码样式;}

拿到这里就要提一下后代选择器和子代选择器的分别用途了

有一个三级菜单,分别对二级菜单的列表的内容文本设置为绿色

<div class="menu">
    <ul class="food">
      <li>
        水果
        <ul>
          <li>香蕉
            <ul>
              <li>仙人蕉</li>
              <li>西贡蕉</li>
              <li>畦头大蕉</li>
            </ul>
          </li>
          <li>苹果
            <ul>
              <li>红蛇果</li>
              <li>烟台苹果</li>
            </ul>
          </li>
        </ul>
      </li>
      <li>
        蔬菜
        <ul>
          <li>白菜
            <ul>
              <li>北京青白</li>
              <li>山东胶州大白菜</li>
              <li>东北大矮白菜</li>
            </ul>
          </li>
          <li>黄瓜
            <ul>
              <li>春花瓜</li>
              <li>架黄瓜</li>
              <li>北京刺瓜</li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </div>

如果使用后代选择器,或许有的同学可以这样写,为了省事

直接ul li{color:green;}那么,我们会发现所有的列表都变成了绿色

不满足需求,因为ul的后代元素li,既选中了一级菜单的列表

又选中了二级菜单的列表,也选中了三级菜单

如果我们使用子代选择器,我们可以这里编写css代码,css代码如下

.food>li>ul>li{
    color:red;
}

会发现,三级菜单也变成了红色,这个是由于css的属性继承性导致的,后面咱们会讲解

通用选择器

通用选择器是功能最强大的选择器,它使用一个*号来表示,它的作用是匹配html中所有标签元素

使用它,我们可以对网页进行重置样式,以按照产品需求来开发对应的网页

对页面中所有的文本设置为红色:

*{color:red;}

组合选择器

当你想在html中为多个标签元素设置同一个样式时

我们可能会想到添加相同的类,但是如果网页中的这样的标签非常多呢?

是不是添加相同的类名,又成了我们累加的工作,不易于效率开发

那么我们可以使用组合选择器来选择,语法如下:

比如对网页中的h1,span,p标签的字体设置为color:gray;font-size:14px;

h1,span,p{
    color:red;
    font-size:14px;
}

对比一下

标签选择器:

h1{
    color:red;
    font-size:14px;
}
span{
    color:red;
    font-size:14px;
}
p{
    color:red;
    font-size:14px;
}

类选择器:

.active{
    color:red;
    font-size:14px;
}

<h1 class='active'></h1>
<span class='active'></span>
<p class='active'></p>

伪类选择器

更有趣的是伪类选择器,比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色

a:hover{
    color:red;
}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>伪类选择器的使用</title>
  <style type="text/css">
  a:hover{
    color:red;
  }
  </style>
</head>
<body>
  <a href="http://www.baidu.com">百度一下</a>
</body>
</html>

另外a标签不仅仅是应用在hover,鼠标悬浮上,它遵循”爱恨准则“,所谓爱恨就是”LoVe HAte“

/*没有被访问过a标签的样式*/
a:link {
    color: green;
}
/*访问过后a标签的样式*/
a:visited {
    color: yellow;
}
/*鼠标悬浮时a标签的样式*/
a:hover {
    color: red;
}
/*鼠标摁住的时候a标签的样式*/
a:active {
    color: blue;
}

注意:在页面中使用a的时候,一定按照顺序Link->visited->hover>active

对于hover来说,不仅仅可以应用在a上,也可以应用在其他标签,比如div,p,li等等


*****
*****

前端学习(十):CSS选择器

原文地址:https://www.cnblogs.com/jevious/p/11508114.html

时间: 2025-01-10 03:20:35

前端学习(十):CSS选择器的相关文章

前端学习(9)~css学习(三):样式表和选择器

本文主要内容 CSS概述 CSS和HTML结合的三种方式:行内样式表.内嵌样式表.外部样式表 CSS四种基本选择器:标签选择器.类选择器.ID选择器.通用选择器 CSS几种扩展选择器:后代选择器.交集选择器.并集选择器 CSS样式优先级 CSS 概述 CSS:Cascading Style Sheet,层叠样式表.CSS的作用就是给HTML页面标签添加各种样式,定义网页的显示效果.简单一句话:CSS将网页内容和显示样式进行分离,提高了显示功能. css的最新版本是css3,我们目前学习的是css

前端学习html css js

html 第一章 :HTML模板 HTML是什么(超文本标记语言) HTML网页主体结构 doctype标签 head标签 meat标签 title标签 body标签 第二章:HTML标题 h1标题标签 h2标题标签 h3标题标签 h4标题标签 h5标题标签 h6标题标签 hr水平线标签 第三章:HTML 段落 p段落标签 br换行标签 第四章:HTML 样式 center定义居中内容 font和basefont定义HTML字体 s和strike定义删除线文本 u定义下划线文本 第五章:HTML

HTML 学习笔记 CSS(选择器3)

CSS 属性选择器 属性选择器可以根据元素的额属性以及属性值来选择元素 例子1 如果 你希望把包含title的所有元素变成红色 *[title] {color:red} 例子2 与上面类似 可以只对有href属性的锚应用样式 a[herf] {color: red} 例子3还可以根据多个属性进行选择 只需将属性选择器链接在一起就可以 a[href][title] {color:red} 例子4 可以采用一些创造性的方法来使用这个特性 例如,可以对所有带有 alt 属性的图像应用样式,从而突出显示

前端学习之CSS(三)

九:浮动 浮动是css里面布局最多的一个属性,也是很重要的一个属性. float:表示浮动的意思. 属性值: none: 表示不浮动,默认 left: 表示左浮动 right:表示右浮动 例: html内容: <div class="box1">第一个div</div> <div class="box2">第二个div</div> <span>一个span</span> css内容: *左浮动*

前端学习随笔 css篇

CSS css是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化. 存在方式有三种:元素内联.页面嵌入和外部引入,比较三种方式的优缺点. 语法:style = 'key1:value1;key2:value2;' 在标签中使用 style='xx:xxx;' 在页面中嵌入 < style type="text/css"> </style > 块 引入外部css文件 标签选择器 div{ background-color:

前端学习 -- Html&amp;Css -- 条件Hack 和属性Hack

条件Hack 语法: <!--[if <keywords>? IE <version>?]> HTML代码块 <![endif]--> <keywords> if条件共包含6种选择方式:是否.大于.大于或等于.小于.小于或等于.非指定版本 是否: 指定是否IE或IE某个版本.关键字:空 大于: 选择大于指定版本的IE版本.关键字:gt(greater than) 大于或等于: 选择大于或等于指定版本的IE版本.关键字:gte(greater th

HTML 学习笔记 CSS(选择器2)

CSS 类选择器 类选择器允许以一种独立于文档元素的方式来指定样式 CSS 类选择器 类选择器允许以一种独立于文档元素的方式来指定样式 该选择器可以单独使用 也可以和其他元素结合使用 提示 只要适当的标记文档后 才能使用这些选择器 所以使用这两种选择器 通常要做一些构想和计划 要考虑样式而不是考虑具体设计的元素 最常用的方法就是使用类选择器 修改HTML代码 在使用类选择器之前,需要修改具体的文档标记,以便类选择器正常工作.为了将类选择器的样式与元素关联,必须将 class 指定为一个适当的值.

web前端学习笔记(CSS变化宽度布局)

Posted on 2013-09-30 09:03 Stephen_Liu 阅读(2406) 评论(6) 编辑 收藏 一.“1-2-1”单列变宽布局: 对于变宽度的布局,首先要使内容的整体宽度随浏览器窗口宽度的变化而变化.因此中间的container容器中的左右两列的总宽度也会变化,这样就会产生不同的情况.这两列是按照一定的比例同时变化,还是一列固定,另一列变化.这两种都是很常用的布局方式.然而对于等比方式而言,相对比较简单,和我上一篇博客中1-2-1的布局方式非常类似,因此这里只是介绍一列固

HTML 学习笔记 CSS(选择器4)

CSS 后代选择器 后代选择器(descendant selector)又称为包含选择器.后代选择器可以选择作为某元素后代的元素. 根据上下文选择元素 我们可以定义后代选择器来创建一些规则,使这些规则在某些文档结构中起作用,而在另外一些结构中不起作用.举例来说,如果您希望只对 h1 元素中的 em 元素应用样式,可以这样写: h1 em {color:red;} 上面这个规则会把作为 h1 元素后代的 em 元素的文本变为 红色.其他 em 文本(如段落或块引用中的 em)则不会被这个规则选中:

[学习笔记]CSS选择器

CSS语法结构 selector { property1 : value; property2 : value; } 如果包含多个属性,那么属性每个属性的结尾需要有一个分号.如果属性的值由多个单词构成,那么需要使用引号将多个单词包含起来. 选择器的种类: 元素选择器 - 直接选择html元素: h1{} , a{} 选择器分组 - 可以针对多种类型的标签设置相同的样式: h1,a{} 通配符 - 针对所有的html标签设置样式.常用的做法是使用通配符来设置margin和padding为0px: