CSS 基础(上)

简介: CSS 基础(上)

引言



CSS:Cascading Style Sheets ( 层叠样式表 )


CSS 的作用


CSS 能够对网页中元素位置的排版进行像素级的精确控制,实现美化页面的效果,且能够做到页面的样式和结构分离。使用了CSS,就相当于女生化妆之后。


CSS 基础格式


选择器 {
  属性:值;
}


一、CSS 引入方式



1. 内部样式表


内部样式表是写在当前编辑的 html 中的 style 标签内,理论上来说 style 标签可以放到 html 的任意位置,但我们一般都是习惯放到 head 标签中。其中 p { } 表示选择器


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo1</title>
    <style>
        p {
            /* 颜色为绿色 */
            color: green;
            /* 字体大小 */
            font-size: large;
        }
    </style>
</head>
<body>
    <p>welcome to the world </p>
</body>
</html>


注意注释的写法:


正确写法:/* */
错误写法://
另外,在 VS Code 中,可以使用 Ctrl + / 进行快速注释和快速反注释


展示结果:


c700bba037a9421eb332eefa7f4bdf7b.png


2. 行内样式表


行内样式表是通过 style 属性,来直接指定某个标签的样式。


<body>
    <p style="color: red; font-size: larger;">welcome to the world </p>
</body>


展示结果:


947ac78a00b948fc873c7293db09b6d4.png


注意:行内样式表的优先级更高


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo1</title>
    <style>
        p {
            /* 颜色为绿色 */
            color: green;
            /* 字体大小 */
            font-size: large;
        }
    </style>
</head>
<body>
    <p style="color: red; font-size: larger;">welcome to the world </p>
</body>
</html>


注意:


由于行内样式表的优先级高于内部样式表,所以 style 属性会覆盖 p 选择器中的一些设置。


在我们使用 CSS 的时候,一个元素最终的样式,其实可以是 " 多方叠加 " 的效果,也就是说,一个元素的样式可以由很多地方同时设置,最终是一个叠加效果,但在这个过程中,有些设置的样式能够生效,有些可能不会生效,这取决与语法实现。


展示结果:


2461cc3ed96a407c94e3cd14b6a4a15e.png


3. 外部样式


(1) 创建一个 css 文件,在 css 文件中,编辑样式。

(2) 在 html 文件中,使用 link 标签,并通过路径引入 css 文件。


css 文件


div {
    color: red;
}


html 文件


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo2</title>
    <link rel="stylesheet" href="demo2.css">
</head>
<body>
    <div>卡布达爱吃西瓜</div>
</body>
</html>


展示结果:


9e2733c764174e94b6c6f58bd824c625.png


注意


使用外部样式的时候,可能在修改内容后,不会生效。造成这种情况的原因:受到浏览器缓存的影响。


关于缓存:

这是计算机中一种常见的提升性能的技术手段,网页依赖的资源 ( 图片/CSS/JS等 ) 通常是从服务器上获取的,而如果用户频繁访问该网站,那么这些外部资源就没必要反复从服务器获取。所以计算机就将缓存先存起来 ( 就是存在本地磁盘上了 ),从而提高访问效率。


在使用浏览器的时候,如果真的遇到修改内容不生效的这种情况,就可以通过 Ctrl + F5 强制刷新页面,即强制浏览器重新获取 css 文件。


二、CSS 代码风格



1. 展开


p {
  color: red;
  font-size: 30px;
}


开发阶段,一般建议写成展开风格,使得代码可读性更高。


2. 紧凑


p { color: red; font-size: 30px;}


部署阶段,一般建议使用紧凑风格。


因为 CSS 的作用是对页面进行美化,此外,在编写 css 代码的时候,和 html 一样,空格、换行在代码中是不生效的。而当我们将所编写的 css 代码全部确认后,就可以写在一起,这样就能减少不必要的空格、缩进、换行等,从而达到节省带宽的效果。我们在前面提到,CSS 是从服务器下载到浏览器中的,CSS 代码越长,要下载的内容就越多,所以就会消耗带宽。


而由于 CSS 和 JS 都是从服务器下载到浏览器的本地的,所以对应的 css 文件 和 js 文件中的代码一般都会使用专业的工具进行压缩。


压缩效果就如下图所示:


image.png


3. 注意代码的写法


在 CSS中,对于更复杂的代码,一般都是使用 " 脊柱命名法 "

编程语言常见的命名风格:


① 驼峰命名法:形如 【fontSize】 ( Java / JS / C++)


② 蛇形命名法:形如 【font_size】( C / C++ )


③ 脊柱命名法:形如 【font-size】( CSS ),比较少见。


④ 匈牙利命名法:类似于驼峰,但会先加上一个前缀,表示类型。

形如 【ifrontSize】( 整型变量 )

形如 【sfrontSize】( 字符串类型变量 )

( 比较少见,当下时代基本不这么写了,Windows API 中很多都是这么搞的 )


三、CSS 基础选择器 ( 重要 )



1. 标签选择器 ( 标签 )


标签选择器可以为所有同一类型的标签设置样式。


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo3</title>
    <style>
        p {
            color: red;
        }
    </style>
</head>
<body>
    <p>卡布达</p>
    <p>卡布达</p>
    <p>卡布达</p>
    <p>卡布达</p>
    <p>卡布达</p>
</body>
</html>


展示结果:


42c2b7ad4f52426c8b789925e4c7dd8a.png


2. 类选择器 ( . )


类选择器可以让属于同一 class 的属性拥有同样的样式。


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo4</title>
    <style>
        p {
            color: red;
        }
        .green {
            color: green;
        }
        .blue {
            color: blue;
        }
        .font {
            font-size: 30px;
        }
    </style>
</head>
<body>
    <p>卡布达</p>
    <p class="font" >卡布达巨人</p>
    <p class="green">呱呱蛙</p>
    <p class="blue">蟑螂恶霸</p>
    <p class="green font">金龟次郎</p>
</body>
</html>


我们必须明确,标签选择器为每个相同标签的内容设置了样式,但当类选择器也存在的时候,那么标签中的内容就会以类选择器设置的样式为优先。上面代码中的【呱呱蛙、蟑螂恶霸、金龟次郎】就是这么回事。


展示结果:


3670720e6eae443cae33ea0a5d2927bd.png


注意


CSS 中的类与 Java 中的类不同,CSS 中的类只是将一类的归在一起,起到了一个分类的作用。而 Java 中的类,无疑代表了面向对象的的一些特性,比如:继承、封装、多态…


3. id 选择器 ( # )


每个 html 中的元素都有一个 id 属性,要求这个属性是整个页面中唯一的值,也可以通过这个值来找到对应的元素。


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo5</title>
</head>
    <style>
        div {
            color: red;
        }
        #flag {
            color: green;
        }
    </style>
<body>
    <div id="flag">飞翔机器人</div>
</body>
</html>


同样地,标签选择器与 id 选择器在一起的时候,也是以 id 选择器设置的样式为先。


展示结果:


64832ee1b4024042aed737634c280c0e.png


4. 通配符选择器 ( * )


通配符选择器用来统一所有的标签,它存在的意义往往是能够消除浏览器的默认样式,一般用来清空内外边距。


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo6</title>
    <style>
        * {
            background-color: gray;
        }
        p {
            color: red;
        }
        .green {
            color: green;
        }
        .blue {
            color: blue;
        }
        .font {
            font-size: 30px;
        }
    </style>
</head>
<body>
    <p>卡布达</p>
    <p class="font" >卡布达巨人</p>
    <p class="green">呱呱蛙</p>
    <p class="blue">蟑螂恶霸</p>
    <p class="green font">金龟次郎</p>
</body>


展示结果:


fefdeff108a04db9b54a316f23e6a5a7.png


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo7</title>
    <style>
        * {
            color: red;
        }
    </style>
</head>
<body>
    <h1>卡布达巨人</h1>
    <p>卡布达</p>
    <div>金龟次郎</div>
</body>
</html>


展示结果:


72d92db3e11d423b94ca9e29a52d1174.png




目录
相关文章
|
前端开发
实验:CSS+Div基础 - 预习报告
网页设计技术实验预习报告。
193 1
实验:CSS+Div基础 - 预习报告
|
Web App开发 前端开发 Windows
CSS基础1 | 青训营笔记
本期作为复习CSS的笔记,比较基础。当然即便最基础的东西也欢迎各路高手指点,以防地基不稳大厦崩塌hhh
CSS基础1 | 青训营笔记
|
前端开发 JavaScript 容器
通俗重制系列--CSS基础
通俗重制系列--CSS基础
113 0
|
前端开发 JavaScript Java
计算机二级web题目(4)--CSS基础
计算机二级web题目(4)--CSS基础
130 1
|
前端开发
CSS基础之选择器
总所周知,css可以为网页设置多种多样的样式,那怎么样可以精确为每一个html标签设置相应的样式呢?
|
前端开发 人机交互
Web开发及人机交互导论 实验三 CSS+DIV基础
Web开发及人机交互导论 实验三 CSS+DIV基础
147 0
Web开发及人机交互导论 实验三 CSS+DIV基础
|
前端开发
CSS基础-塌陷及定位
clear:right; 右侧不允许有浮动元素
98 0
|
前端开发
CSS 基础(下)
CSS 基础(下)
63 0
CSS 基础(下)
|
前端开发 编译器 C++
CSS 基础(中)
CSS 基础(中)
96 0
CSS 基础(中)