【CSS】一个元素同时使用多个类选择器(class selector)

CSS类选择器参考手册

一个元素同时使用多个类选择器

CSS中类选择器用点号表示。实际项目中一个div元素为了能被多个样式表匹配到(样式复用),通常div的class中由好几段组成,如<div class="user login">能被.user和.login两个选择器选中。如果这两个选择器中有相同的属性值,则该属性值先被改为.user中的值,再被改为.login中的值,即重复的属性以最后一个选择器中的属性值为准。测试如下:

<style>
.user
{    font-size: 30px;
    background-color:red;
}
.login
{
    background-color:blue;
}
</style>
</head>
<body>

<div class=‘user‘>你好。这是一个 DIV 元素,class=‘user‘。</div>
<div class=‘login‘>你好。这是一个 DIV 元素,class=‘login‘。</div>
<div class=‘user login‘>你好。这是一个 DIV 元素,class=‘user login‘。</div>

</body>

第三个div元素的背景颜色以.login中的为准,效果如下图:

CSS类选择器的匹配规则

CSS中多个类选择器之间有没有空格是怎样的匹配规则?如.user.login和.user .login(中间有空格)的区别?

直接上例子。电商项目中的导航栏,包括用户的登录/注册/注销,以及购物车等信息。

Html:

<div class="nav">
    <div class="w">
        <div class="user-info">
            <span class="user not-login">
                <span class="link js-login">登录</span>
                <span class="link js-register">注册</span>
            </span>
            <span class="user login">
                <span class="link-text">
                    欢迎,
                    <span class="username"></span></span>
                <span class="link">退出</span>
            </span>
        </div>

        <!-- 右侧的导航链接 -->
        <ul class="nav-list">
            <li class="nav-item">
                <a class="link" href="./cart.html">
                    <i class="fa fa-shopping-cart"></i>
                    购物车(<span class="cart-cont">0</span>)
                </a>
            </li>
            <li class="nav-item">
                <a class="link" href="./order-list.html">我的订单</a>
            </li>
            <li class="nav-item">
                <a class="link" href="./user-center.html">我的MMall</a>
            </li>
            <li class="nav-item">
                <a class="link" href="./about.html">关于MMall</a>
            </li>
        </ul>
    </div>
</div>

CSS:

.nav{
    background: #eee;
    height: 30px;
    line-height: 30px;
}

/* 用户部分 */
.nav .user{
    float: left;
}
.nav .user.login{
    display: none;
}
.nav .user .link{
    margin-right: 5px;
}

/* 导航链接部分 */
.nav .nav-list{
    float: right;
}
.nav .nav-list .nav-item{
    display: inline-block;
    margin-left: 5px;
}

观察上面代码的运行结果可知:

  • .nav .user(中间有空格)匹配到class含有nav的元素下面的class含有user的元素,是<span class="user not-login">和<span class="user login">。
  • .user.login(中间没有空格)匹配到class同时含有user和login的元素,是<span class="user login">。
  • .nav .user.login(.nav和.user中间有空格,.user和.login中间没有空格)匹配到class含有nav的元素下面的class同时含有user和login的元素,是<span class="user login">。

一个更小的例子

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>类选择器</title>
<style>
.user.login /* 匹配同时包含user和login的元素 */
{
    font-size: 35px;
}

.user .login{ /* 匹配含user下的含login的元素 */
    background-color:green;
}

</style>
</head>
<body>

<div class=‘user‘>你好。这是一个 DIV 元素,class=‘user‘。
    <div class=‘login‘>你好。这是一个 DIV 元素,class=‘user login‘。</div>
</div>
<div class=‘login‘>你好。这是一个 DIV 元素,class=‘login‘。</div>
<div class=‘user login‘>你好。这是一个 DIV 元素,class=‘user login‘。</div>

</body>
</html>

时间: 2024-09-29 01:18:45

【CSS】一个元素同时使用多个类选择器(class selector)的相关文章

CSS使用注意(2):关于伪类选择器

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSS伪元素选择器</title> <style type="text/css"> /* 伪元素选择器: 伪元素的效果是需要通过添加一个实际的元素才能达到的. CSS中有如下四种伪元素选择器: :first-line:为某个元

CSS/JQuery元素选择器之&amp;&amp;和||,选择器的逻辑操作

使用CSS或JQuery选中元素的时候,很多时候我们需要对条件进行&&或者||操作. JQuery或者CSS中的||操作是很常用的,也很简单,就是通过逗号来分隔的. selector1,selector2,selectorN 比如我们想选中div或者span,那么可以通过$("div,span")来选中满足条件的元素. CSS或JQuery中的&&,我所见过的大部分都是用class进行的,不知道是不是只有这种方式. .className1.classNa

CSS 类选择器(四)

一.类选择器 类选择用使用"."(英文点号)进行标识,后面紧跟类名 如: .red{color:red;} 类样式可以应用于文档中的多个元素,这体现了CSS代码的可重用性,帮助用户简化页面控制. 二.类选择器与标签选择器 类选择器和标签选择器都具有一对多的特性,即一个样式可以控制多个元素对象的显示效果. 注意事项: 与标签选择器相比,类选择器具有更好的适应性和灵活性,因为可以指定类的样式所应用的元素对象范围 与类选择器相比,标签选择器具操作简单.定义方便的优势,因为不需要为每个元素都定

CSS 类选择器

在 CSS 中,类选择器以一个点号显示: .center {text-align: center} 在上面的例子中,所有拥有 center 类的 HTML 元素均为居中. 在下面的 HTML 代码中,h1 和 p 元素都有 center 类.这意味着两者都将遵守 ".center" 选择器中的规则. <h1 class="center"> This heading will be center-aligned </h1> <p clas

CSS动态伪类选择器温故-3

动态伪类选择器 伪类选择器:大家熟悉的:[:link][:visited][:hover][:active]CSS3的伪类选择器分为六种:(1)动态伪类选择器(2)目标伪类选择器(3)语言伪类选择器(4)UI伪类选择器(5)结构伪类选择器(6)否定伪类选择器注:和其它CSS选择器的区别-伪类选择器都以冒号[:]开头 思考问题?(1)CSS3伪类选择器有什么功能?(2)选定元素能带来什么便利? 1.1.动态伪类选择器语法动态伪类包含两种:(1)在链接中常看到的锚点伪类(2)为用户行为伪类 (3)锚

css的类选择器

css的类选择形式 .类名{} 通配类选择器:*.类名{} 某种元素的类选择器:元素名.类名{} 多类选择器:<p class="css1  css2"></p> 多类选择器会遵照更加详细的样式原则汇总,继承前面的多出来的样式,而类样式中多次出现的则按照后来居上的原则选取. 如果多个样式同时声明,那么在元素里必须同时将多个样式引入,顺序不限,否则失败. 如 .a.b{} <p class="a c b"></p>正确

我的笔记之——CSS的定义、基本语法及选择器的使用

一.CSS的定义 1.什么是css Cascading Style Sheet 层叠样式表 级联样式表 样式表 2.作用: 实现了内容和表现的分离 提高了代码的可重用性和可维护性 二.css样式表的使用方式 使用方式共分三种,使用任何一种都可以更改页面的样式. 1.内联方式 内联样式: 将css样式定义在HTML的标签中 特点:不通用,只能定义某一标签的单独样式. 2.内部样式表 将一系列样式定义在HTML的<head>中 特点:当前网页任何一个标签都可以使用,体现出可重用性. 3.外部样式表

html类选择器

选择器: 选择标签的,选择出标签以后给标签加样式 常用的选择器6+1种 一.标签选择器 语法: 标签名 { 样式规则} 例如: p { 样式规则} 作用: 所有的p标签被选中 套用后面的样式 二.id选择器 1.语法 #id名 { 样式规则} 例如: #myId1 { 样式规则} 作用: id值为myId1的元素会被选中,套用后面的样式 2.使用 <p id="myId1"></p> 三.类选择器 如果想把同一个样式,给多个元素使用 需要使用类选择器 1. 不带

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

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