01_CSS选择器

知识点

  • 基本选择器
  • 标签选择器
  • 类选择器
  • ID选择器
  • 通配符选择器
  • 复合选择器
  • 交集选择器
  • 后代选择器
  • 子代选择器
  • 并集选择器

选择器

选择器是一个选择谁(标签)的过程。

选择器{属性:值; 属性:值;}

属性 解释
width:20px;
height:20px;
background-color:red; 背景颜色
font-size:24px; 文字大小
text-align:left / center / right 内容的水平对齐方式
text-indent:2em; 首行缩进
color:red; 文字颜色

基础选择器

标签选择器

标签{属性:值;}

特点:标签选择器定义之后,会将页面所有的元素都执行这个标签样式。

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        /*标签选择器*/
        div{
            font-size: 50px;
            color: red;
            background-color: yellow;
            width: 450px;
            height: 200px;
        }
        p{
            font-size: 100px;
            color: green;
        }
    </style>
</head>
<body>
    <div>Web前端威武</div>
    <div>Web前端威武</div>
    <p>前端威武</p>
    <p>前端威武</p>
    <div>Web前端威武</div>
</body>
</html>
  • 颜色的显示方式
    • 直接写颜色的名称red、green
    • 十六进制显示颜色0~f
      #000000; 前2位代表红色,中间2位代表绿色,后边2位代表蓝色。
    • rgb:每一位取值范围:0~255
      color:rgb(120,120,120)
  • rgba
    A:代表alpha 不透明度 值 0-1
    color:rgba(102,120,120,0.5)
类选择器(重点)

.自定义类名{属性:值; 属性:值;}

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        /*类选择去*/
        .box{
            font-size: :40px;
            color: #ff0088
        }
        ._miss{
            background-color: #f8f8f8;
            width: 600px;
            height: 300px;
        }
    </style>
</head>
<body>
    <div class="box _miss">Web前端威武</div>
    <div>前端威武</div>
    <p>高新</p>
    <p>就是666</p>
</body>
</html>
  • 特点: 谁调用,谁生效。
      一个标签可以调用多个类选择器。
      多个标签可以调用同一个类选择器。
  • 类选择器命名规则
  • 不能用纯数字或者数字开头来定义类名
  • 不能使用特殊符号或者特殊符号开头(_下划线除外)来定义类名
  • 不建议使用汉字来定义类名
  • 不推荐使用属性或者属性的值来定义类名
  • 页面布局常见命名规范
头:header
内容:content/container
尾:footer
侧栏:nav
栏目:column
页面外围控制整体布局宽度:wrapper
左右居中:left right center
登录条:login bar
标志:logo
广告:banner
页面主体:main
热点:hot
新闻:news
下载:download
子导航:subnav
菜单:menu
子菜单:submenu
搜索:search
友情链接:friendlink
页脚:footer
版权:copyright
滚动:scroll
内容:content
ID选择器

#自定义名称{属性:值;}

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        #box{
            font-size: 40px;
            color: rgb(0,255,255);
            background-color: white;
        }
        #miss{
            width: 450px;
            height: 300px;
        }
    </style>
</head>
<body>
    <div id="box">Web前端威武</div>
    <div id="miss">前端威武</div>
    <p>高新</p>
    <p>就是666</p>
</body>
</html>

特点:
  一个ID选择器在一个页面只能调用一次。如果使用2次或者2次以上,不符合w3c规范,JS调用会出问题。
  一个标签只能调用一个ID选择器。
  一个标签可以同时调用类选择器和ID选择器。

案例:Google的logo

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        .G{
            font-size: 200px;
            color: rgb(21,105,234);
        }
        .o1{
            font-size: 200px;
            color: rgb(213,62,38)
        }
        .o2{
            font-size: 200px;
            color: rgb(253,182,5)
        }
        .g1{
            font-size: 200px;
            color: rgb(21,105,234);
        }
        .l{
            font-size: 200px;
            color: #019956; 
        }
        .e{
            font-size: 200px;
            color: #D7422E;
        }
    </style>
</head>
<body>
    <span class="G">G</span>
    <span class="o1">o</span>
    <span class="o2">o</span>
    <span class="g1">g</span>
    <span class="l">l</span>
    <span class="e">e</span>
</body>
</html>
案例效果
通配符选择器

*{属性:值;}

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        *{
            color: red;
            background-color: #e8e8e8;
        }
    </style>
</head>
<body>
    <div>Web前端</div>
    <span>Web前端</span>
    <p>Web前端</p>

</body>
</html>

特点:给所有的标签都使用相同的样式。
不推荐使用,增加浏览器和服务器负担。

复合选择器

概念:两个或者两个以上的基础选择器通过不同的方式连接在一起。

交集选择器

标签+类(ID)选择器{属性:值;}

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        .box{
            font-size: 50px;
        }
        div.box{
            color: red;
        }
        div#miss{
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div class="box">你好</div>
    <p class="box">哈哈</p>
    <div id="miss">Hello</div>
</body>
</html>

特点:即要满足使用了某个标签,还要满足使用了类(id)选择器。

后代选择器(重点)

选择器+空格+选择器{属性:值;}

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        /*.box{
            font-size: 40px;
            color: red;
        }*/
        div p span{
            font-size: 50px;
        }
        div span{
            color: yellow;
        }
        .box .miss{
            background-color: #ff00ff;
        }
    </style>
</head>
<body>
    <div class="box">
        <p><span class="miss">Web前端开发</span></p>
    </div>
    <div>前端开发威武<span>你好</span></div>
</body>
</html>

后代选择器首选要满足包含(嵌套)关系。
父集元素在前边,子集元素在后边。
特点:
  无限制隔代。
  只要能代表标签,标签、类选择器、ID选择器自由组合。

子代选择器

选择器>选择器{属性:值;}

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        div>span{
            color: red;
        }
        p>span{
            color: yellow;
        }
    </style>
</head>
<body>
    <div>
        <p><span>你好</span></p>
        <span>hello</span>
    </div>
</body>
</html>

选中直接下一代元素。

并集选择器

选择器+,+选择器+,选择器{属性:值;}

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        span,p,div,h1{
            color: green;
            font-size: 50px;
        }
        .box,#miss,p,h1{
            background-color: yellow;
        }
    </style>
</head>
<body>
    <span class="box">你好</span>
    <div id="miss">Hello</div>
    <p>小伙子真帅</p>
    <h1>小伙子,加油</h1>
</body>
</html>
复合选择器应用:

div.div1 ul.box li,div.div1 p{}

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        div.div1 ul.box li,div.div1 p{
            color: green;
        }
    </style>
</head>
<body>
    <div class="div1">
        <ul class="box">
            <li>你好</li>
        </ul>
    </div>
    <div class="div1">
        <p>大前端</p>
    </div>
</body>
</html>

div.box p.p1,div.box div.div1 p,p{}

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        div.box p.p1,div.box div.div1 p,p{
            color: red;
        }
    </style>
</head>
<body>
    <div class="box">
        <p class="p1">nihao</p>
        <div class="div1"><p>哈哈</p></div>
    </div>
    <div class="box"><div class="div1"><p>Nice to meet you</p></div></div>
    <p>hehe</p>
</body>
</html>

相邻兄弟选择器

选择器1+++选择器2{}

如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:h1 + p {margin-top:50px;}。这个选择器读作:“选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素”。

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        ul>li{
            font-size: 20px;
            line-height: 30px;
        }
        /*ul > li + li{
            color: #f40;
        }*/
        ul > li.item + li{
            color: #f40;
        }
    </style>
</head>
<body>
    <ul>
        <li></li>
        <li class="item"></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,725评论 1 92
  • 1.CSS 元素选择器 最常见的 CSS 选择器是元素选择器。换句话说,文档的元素就是最基本的选择器。如果设置 H...
    饥人谷_小侯阅读 849评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,587评论 18 139
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,053评论 0 40
  • 九月初九重阳节刚刚过去,趁着节日的余温,小首倾情奉上专为老人度身定制的首都机场舒心便捷服务攻略,赶快转发给家中长辈...
    小易车友会阅读 9,525评论 2 1