学习CSS.1学习笔记
入门CSS
S
CSS简介
1.什么是 CSS?
- CSS 指的是层叠样式表* (Cascading Style Sheets)
- CSS 描述了如何在屏幕、纸张或其他媒体上显示 HTML 元素
- CSS 节省了大量工作。它可以同时控制多张网页的布局
- 外部样式表存储在 CSS 文件中
CSS 语法
CSS(层叠样式表)用于设置HTML页面中元素的样式,其语法主要包括以下几个部分:
1.选择器
选择器用于选择页面中的元素,以便为其应用样式。常见的选择器类型有:
- 元素选择器:直接使用元素名称,如p选择页面中所有的<p>元素。
- 类选择器:以
.
开头,如.my-class
选择页面中所有class="my-class"
的元素。 - ID选择器:以
#
开头,如#my-id
选择页面中id="my-id"
的元素。 - 属性选择器:以
[attribute]
形式,如[type="text"]
选择所有type
属性值为text
的元素。 - 伪类选择器:以
:
开头,如:hover
选择鼠标悬停的元素,:nth-child(n)
选择其父元素的第n
个子元素等。 - 伪元素选择器:以
:before
在元素内容前插入内容,::after
在元素内容后插入内容等。 - 组合选择器:可以将多个选择器组合使用,如
div p
选择<div>
元素内的所有<p>
元素,.class1.class2
选择同时具有class1
和class2
类的元素等。
2.声明器
选择器后面跟着一个花括号{}
,里面包含一个或多个声明,用于定义元素的样式。每个声明由属性和值组成,属性和值之间用英文冒号:
分隔,每个声明之间用英文分号;
分隔。例如:
1 | p { |
示例:
1 | /* 选择所有段落元素,设置字体颜色为红色,字体大小为16px */ |
CSS的语法简洁而强大,通过合理使用选择器和声明块,可以灵活地为HTML页面中的元素设置各种样式。
CSS 样式
有三种主要的插入CSS样式表的方法,分别是内联样式、内部样式表和外部样式表。以下是详细介绍:
1. 内联样式(Inline CSS)
- 定义:直接在HTML元素的标签中使用
style
属性来添加CSS样式。 - 使用方法:在元素标签中添加
style="样式规则"
,样式规则中包含属性和值,属性和值之间用英文冒号分隔,多个样式规则之间用英文分号分隔。例如:
1 | <p style="color: red; font-size: 16px;">这是一段红色的文本,字体大小为16px。</p> |
- 特点:
- 优点:可以直接在元素上应用样式,对于单个元素的样式修改非常方便,可以快速看到效果。
- 缺点:样式与结构混合,违反了CSS与HTML分离的原则,不利于维护和重用。当需要对多个元素应用相同的样式时,代码会变得冗余。
2. 内部样式表(Internal CSS)
- 定义:在HTML文档的
<head>
部分使用<style>
标签来定义CSS样式。 - 使用方法:在
<head>
标签内添加<style>
标签,在<style>
标签内编写CSS选择器和对应的样式规则。例如:
1 | <head> |
- 特点:
- 优点:样式与HTML结构在同一文件中,方便查看和修改,适用于单个页面的样式定义。可以避免内联样式带来的代码冗余问题。
- 缺点:样式仍然局限于单个HTML文件,不利于多个页面之间的样式共享和维护。当网站包含多个页面时,每个页面都需要重复编写相同的样式代码。
3. 外部样式表(External CSS)
- 定义:将CSS样式写在一个单独的
.css
文件中,然后在HTML文档中通过<link>
标签引入该样式表。 - 使用方法:首先创建一个CSS文件(如
styles.css
),在其中编写CSS样式规则。然后在HTML文档的<head>
部分使用<link>
标签引入该CSS文件。例如:
styles.css
文件内容:
1 | body { |
- HTML文件内容:
1 | <head> |
- 特点:
- 优点:实现了CSS与HTML的完全分离,符合Web开发的最佳实践。样式文件可以被多个HTML页面共享,便于维护和更新。当需要修改样式时,只需修改一个CSS文件,所有引用该文件的页面都会自动更新样式。
- 缺点:需要额外的文件管理,对于非常简单的页面或临时的样式修改,可能会显得有些繁琐。
样式优先级
当同时使用以上三种方法时,样式的优先级从高到低依次为:内联样式 > 内部样式表 > 外部样式表。此外,还可以通过使用
!important
规则来提高某个样式规则的优先级,但应谨慎使用,因为它可能会导致样式难以维护。例如:
1 | /*这会使<p>元素的文本颜色无论如何都显示为红色,即使有其他更高优先级的样式规则存在。*/ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 YOUXIANYU!
评论