CSS入门

CSS,全称为Cascading Style Sheets,层叠样式表。是用来为网页添加样式的代码。

CSS工作原理:

图1

CSS的引入方式

外部样式表:

1.通过 <link> 引入 CSS。
<head>
<link rel="stylesheet" href="index.css">
</head>
(rel=relationship stlyesheet:样式表 href=Hypertext Reference超链接)

2.通过 @import 引入样式,只能放入 css 中引用: 分号不能省
<stlye>
@import url("index.css");
@import url('index.css');
@import url(index.css);
@import 'custom.css';
@import "common.css";
@import url('landscape.css') screen and (orientation:landscape);

</style>

内部样式表:

<head>
<style>
p{background: orange;}
</style>
</head>

内联样式:(不推荐)

<p style="background: orange; font-size: 24px;">CSS 很 👍<p>

@charset有什么作用:

告诉浏览器使用什么字符集去解码。

id 选择器和 class 选择器分别的使用场景

  • id选择器因其在文档中必须是唯一的且一个标签只能绑定一个id,相当于一个身份证,故通常用于较大区块,多用于父级;
  • class选择器称为类选择器,一个 CSS 类可以应用到多个不同的元素,相当于一个特征,一个元素也可以应用多个不同的 CSS 类。

常见的CSS选择器:

元素选择器 Element Selectors

p { color: red; }

ID 选择器 ID Selectors

<p id="notification">通知:明天放假</p>
#notification { font-size: 24px; }

类选择器 Class Selectors

<ul>
<li class="first done">起床</li>
<li class="second done">刷牙</li>
<li class="third">洗脸</li>
</ul>

.first { font-weight: bold; }
.done { text-decoration: line-through; }

通用选择器 Universal Selector

* { box-sizing: border-box; }

.flex-container * { flex-basis: 100%; }
*号代表所有元素

属性选择器 Attribute Selectors

[attr]

[attr] 选择包含 attr 属性的所有元素,不论 attr 的值为何。

[disabled] { cursor: not-allowed; }
[attr=val]

[attr=val] 仅选择 attr 属性被赋值为 val 的所有元素。

[data-color="gray"] { color: #ccc; }

伪类 Pseudo-classes:

  • a:link {....;} 选中元素当中的链接

  • a:visited {....;} 仅选中访问过的链接,这个样式可能被其他与链接相关的伪类覆盖

  • a:hover {....;} 鼠标悬置

  • a:active {....;} 匹配被用户激活的元素

  • li:first-child { ... }

  • li:last-child { ... }

  • .box p:nth-child(num) {....}

  • .box p:nth-of-type(num){....}

伪元素 Pseudo-elements:

::first-line 将样式只应用于一个块状元素的首行
::first-letter 选中一整块文字第一行的第一个字母
::before/::after 在元素之前/之后插入内容,必须要有content属性

组合选择器:

A, B

A, B 选中选中所有A和B

A B

A B 选中所有A的后代B。

A > B

A > B 选中匹配 B 且为匹配 A 的元素的直接子元素。

A + B

A + B 选中匹配 B 且为匹配 A 的元素的下一相邻元素。

A ~ B

A ~ B 选中匹配 B 且为匹配 A 的元素的下 N 个相邻元素。

练习:下面组合选择器分别是什么意思?

  1. .item+p {color: red} class="item"元素下相邻的第一个p元素为红色
  2. .item~p {color: yellow} class="item"元素下相邻的数个p元素为黄色
  3. .item p {color: blue} class="item"元素下所有p元素为蓝色
  4. p.item {color: blue} p元素下所有class="item"元素为蓝色
  5. .item>p{color: blue} class="item"元素下的所有直接子元素p为蓝色
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言 本人在慕课网学习HTML+CSS基础课程,记录一些文字,方便自己回忆,也希望对大家有所帮助 上次给大家带来了...
    zhaolion阅读 7,389评论 18 272
  • CSS实际上如何工作? 当浏览器显示文档时,它必须将文档的内容与其样式信息结合。它分两个阶段处理文档:浏览器将HT...
    晓风残月1994阅读 598评论 0 4
  • css 工作原理每个html元素都有一组样式属性,可以通过css来设定。当html元素的同一个样式属性有多种样式值...
    __越过山丘__阅读 256评论 0 1
  • 我是一棵草 红尘一隅 守着方寸之地 荣春盛夏 静修一颗心 摇曳一丛绿 装点花的空白 我是一棵草 喧嚣路边 闲看花开...
    重之阅读 342评论 0 1
  • 讨厌现在的生活状态,都说危险与机遇并存。 美丽的东西,往往都是有毒的。 拥有美好的外在,又如何? 有时候,不知道该...
    玫瑰花的梦阅读 199评论 4 1