CSS基本语法和引入方式

CSS介绍

为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,CSS由此而诞生,CSS是 Cascading Style Sheets 的首字母缩写,意思是层叠样式表。有了CSS,html中大部分表现样式的标签就废弃不用了,html只负责文档的结构和内容,表现形式完全交给CSS,html文档变得更加简洁。

css基本语法

css的定义方法是:

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

选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性,每个属性有一个或多个值。

代码示例:

div{ width:100px; height:100px; color:red }

CSS引入方法

css页面引入方法:

  1. 外联式:通过link标签,链接到外部样式表到页面中。
  2. 嵌入式/内嵌式:通过style标签,在网页上创建嵌入的样式表。
  3. 内联式:通过标签的style属性,在标签上直接写样式。

style标签,放在head标签里面,在style里面写样式;

在网站首页时建议使用,有助于性能优化,提升用户体验;
注意,嵌入式用的是style标签,而内联式用的是style属性;

/* css引入方法1 */
<link rel="stylesheet" type="text/css" href="css/main.css"> /* css引入方法2 */
<head>
<style type="text/css">
div{ width:100px; height:100px; color:red }
......
</style>
</head> /* css引入方法3 */
<div style="width:100px; height:100px; color:red ">......</div>

css引入方式示例

示例1:引入css文件

/*01.引入css文件.html*/

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS样式引入</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 第一种插入样式的方式-外联式 -->
<link rel="stylesheet" href="./css/main.css">
</head>
<body>
<div>这是一个div标签</div> </body>
</html> /*main.css*/ div {
/*这里是css的注释*/
font-size: 26px;
color: blue;
}

示例2:嵌入式

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>内嵌式引入css样式</title>
<!-- 第二种插入样式的方式-嵌入式 -->
<style>
div {
font-size: 30px;
color: red;
}
</style>
</head>
<body> <div>这是一个div标签</div>
</body>
</html>

示例3:直接在标签中写样式示例-内联式/行内样式

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>内嵌式引入css样式</title>
</head>
<body>
<!-- 第三种插入样式的方式-内联式 -->
<div style="font-size: 20px;color: yellow">这是一个div标签</div>
</body>
</html>

三种方式总结:
推荐使用外联式,可以使用嵌入式,不太推荐使用内联式;
外联式嵌入式 需要用到选择器,内联式不需要使用选择器,因为它直接在选择器里面;
外联式任何情况都能使用,嵌入式在网站首页优化可以使用;
嵌入式用的是style标签,而内联式内联式用的是style属性;
首页优化用嵌入式,其他用外联式;

CSS文本设置

常用的应用文本的css样式:

  • color 设置文字的颜色,如: color:red;
  • font-size 设置文字的大小,如:font-size:12px;
  • font-family 设置文字的字体,如:font-family:'微软雅黑';
  • font-style 设置字体是否倾斜,如:font-style:'normal'; 设置不倾斜,font-style:'italic';设置文字倾斜;但一般是用来设置不倾斜的。
  • font-weight 设置文字是否加粗,如:font-weight:bold; 设置加粗 font-weight:normal 设置不加粗。
  • font 同时设置文字的几个属性,写的顺序有兼容问题,建议按照如下顺序写: font:是否加粗 字号/行高 字体;如: font:normal 12px/36px '微软雅黑';
  • line-height 设置文字的行高,如:line-height:24px;
  • text-decoration 设置文字的下划线,如:text-decoration:none; 将文字下划线去掉,常用于将a标签的下划线去掉;
  • text-indent 设置文字首行缩进,如:text-indent:24px; 设置文字首行缩进24px;一个汉字占20px,两个汉字40px。
  • text-align 设置文字水平对齐方式,如text-align:center 设置文字水平居中;span,a标签等只让文字撑开的,暂时不能居中,p,div占一行的,能居中。

01:文本样式应用实例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文本常用样式</title>
<style>
div {
font-size: 22px;
color: red;
/*font-family: "微软雅黑";*/ /*可以写中文,但建议写英文,避免可能出现的乱码*/
font-family: "Microsoft YaHei UI";
font-style: italic;
font-weight: bold;
line-height: 20px;
}
</style>
</head> <body>
<div>
常用的应用文本的css样式:
color 设置文字的颜色,如: color:red;
font-size 设置文字的大小,如:font-size:12px;
font-family 设置文字的字体,如:font-family:'微软雅黑';
font-style 设置字体是否倾斜,如:font-style:'normal'; 设置不倾斜,font-style:'italic';设置文字倾斜
font-weight 设置文字是否加粗,如:font-weight:bold; 设置加粗 font-weight:normal 设置不加粗
</div>
</body>
</html>

02:常用的文本应用css样式

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文本常用样式</title>
<style>
div {
font-size: 22px;
color: red;
/*font-family: "微软雅黑";*/ /*可以写中文,但建议写英文,避免可能出现的乱码*/
font-family: "Microsoft YaHei UI";
font-style: italic;
font-weight: bold;
line-height: 30px;
text-decoration: underline;
text-indent: 40px;
}
a {
text-decoration: none;
}
p {
text-align: center;
}
</style>
</head> <body>
<div>
常用的应用文本的css样式:
color 设置文字的颜色,如: color:red;
font-size 设置文字的大小,如:font-size:12px;
font-family 设置文字的字体,如:font-family:'微软雅黑';
font-style 设置字体是否倾斜,如:font-style:'normal'; 设置不倾斜,font-style:'italic';设置文字倾斜
font-weight 设置文字是否加粗,如:font-weight:bold; 设置加粗 font-weight:normal 设置不加粗
</div>
<p>这是一个span标签</p>
<a href="http://www.baidu.com">百度一下,你就知道</a>
</body>
</html>

CSS颜色表示法

css颜色值主要有三种表示方法:

  1. 颜色名表示,比如:red 红色,gold 金色。
  2. rgb表示,比如:rgb(255,0,0),表示红色。
  3. 16进制数值表示,比如:#ff0000 表示红色,这种可以简写成 #f00。

css颜色表示法示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css颜色表示法</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
div {
font-size: 30px;
/*以下三种方法,效果一致*/
/*color: green;*/
/*color: rgba(0,255,0);*/
color: #00ff00;
}
</style>
</head> <body>
<div>这是一个div标签</div>
</body>
</html>

CSS选择器

如果对同一内容区添加样式,下面的样式会覆盖上面的样式;
在css中,#代表id选择器,.代表类选择器;

常用的选择器有如下几种:

1.标签选择器

标签选择器,此种选择器影响范围大,建议尽量应用在层级选择器中。

标签选择器举例:
*{margin:0;padding:0}
div{color:red}
<div>....</div> <!-- 对应以上两条样式 -->
<div class="box">....</div> <!-- 对应以上两条样式 -->

01标签选择器示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/* 针对所有的标签选择器,慎用 */
* {
color: red;
}
/* 仅针对所有的div标签选择器 */
div {
font-size: 30px;
}
</style>
</head> <body>
<div>第一个div标签</div>
<div>第二个div标签</div>
<div>第三个div标签</div>
</body>
</html>

01标签选择器示例

2.id选择器

通过id名来选择元素,元素的id名称不能重复,所以一个样式设置项只能对应于页面上一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为选择器。

id选择器举例:
#box{color:red}
<div id="box">....</div> <!-- 对应以上一条样式,其它元素不允许应用此样式 -->

02id选择器示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>id选择器</title>
<style>
div {
font-size: 30px;
color: red;
}
/* id选择器,用#作为id选择器的标识 */
/* 如果对同一内容区添加样式,下面的样式会覆盖上面的样式 */
#d1 {
color: gray;
}
</style>
</head>
<body> <div id="d1">第一个div标签</div>
<div>第二个div标签</div>
<div>第三个div标签</div> </body>
</html>

02id选择器示例

3.类选择器

通过类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类,应用灵活,可复用,是css中应用最多的一种选择器。

类选择器举例:
.red{color:red}
.big{font-size:20px}
.mt10{margin-top:10px}
<div class="red">....</div>
<h1 class="red big mt10">....</h1>
<p class="red mt10">....</p>

03类选择器示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>类选择器</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.d1 {
font-size: 30px;
color: deeppink;
}
.d2 {
font-style: italic;
}
.d3 {
color: green;
}
</style>
</head>
<body>
<div class="d1">这是第一个div标签</div>
<div class="d1 d2">这是第二个div标签</div> <!-- 多个类可以作用于一个元素 -->
<!--如果一个元素上有多个类,多个类之间有重复的样式,那么在外联式/嵌入式中后定义的类选择器的样式会覆盖先定义的;-->
<p class="d3 d1">这是一个p标签</p> <p>下面是没有添加类选择器的标签</p>
<div>这是第一个div标签</div>
<div>这是第二个div标签</div>
<p>这是一个p标签</p>
</body>
</html>

03类选择器示例

如果一个元素上有多个类,多个类之间有重复的样式,那么在外联式/嵌入式中后定义的类选择器的样式会覆盖先定义的;而与类选择器的先后顺序无关。

4.层级选择器

主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。
层级选择器可以包含多层,比如box中嵌套box,二层box下再嵌套span;但一般而言,最好不要超过四层。
层级选择器之间用空格隔开;

层级选择器举例:
.box span{color:red}
.box .red{color:pink}
.red{color:red}
<div class="box">
<span>....</span>
<a href="#" class="red">....</a>
</div>
<h3 class="red">....</h3>

04层级选择器示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>层级选择器</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.d1 {
font-size: 20px;
line-height: 30px;
text-indent: 40px;
}
.d1 span {
color: red;
}
.d1 em {
font-style: normal;
color: gray;
text-decoration: underline;
}
</style>
</head>
<body> <div class="d1">
<span>大千世界,无奇不有。</span>
天地中央,有个曾用一剑劈出天河瀑布的读书人,<em>人间最得意</em>。
东海崖畔,有个不愿飞升枯坐山巅的无名道人,只愿清风拂面。
西方净土,有个喜欢给人说故事的老和尚,豢养有九条天龙。
蛮荒南疆,有个目盲画师,驱使与山岳等高的金甲傀儡,搬动十万大山,铺就一幅锦绣图画。
一个生长在北方的贫寒少年,当他有一天看到头顶竟有成千上万的御剑仙人,如同蝗群过境。他就想去亲眼去看一看,说书先生所说的那位读书人,东海的滔天大潮、西方的黄沙万里和南荒的巍峨大山。
于是,终有一日,少年挎起木剑,一路向南。
</div> <hr />
<div class="d2">
<span>大千世界,无奇不有。</span>
天地中央,有个曾用一剑劈出天河瀑布的读书人,人间最得意。
东海崖畔,有个不愿飞升枯坐山巅的无名道人,只愿清风拂面。
西方净土,有个喜欢给人说故事的老和尚,豢养有九条天龙。
蛮荒南疆,有个目盲画师,驱使与山岳等高的金甲傀儡,搬动十万大山,铺就一幅锦绣图画。
一个生长在北方的贫寒少年,当他有一天看到头顶竟有成千上万的御剑仙人,如同蝗群过境。他就想去亲眼去看一看,说书先生所说的那位读书人,东海的滔天大潮、西方的黄沙万里和南荒的巍峨大山。
于是,终有一日,少年挎起木剑,一路向南。
</div>
</body>
</html>

层级选择器示例

5.组选择器

多个选择器,如果有同样的样式设置,可以使用组选择器,抽离重复样式。组选择器之间用逗号分隔开。

组选择器举例:
.box1,.box2,.box3{width:100px;height:100px}
.box1{background:red}
.box2{background:pink}
.box2{background:gold}
<div class="box1">....</div>
<div class="box2">....</div>
<div class="box3">....</div>

05组选择器示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>组选择器</title>
<style>
/* 使用组选择器抽离重复样式 */
.d1, .d2, .d3 {
font-size: 20px;
text-indent: 40px;
}
.d1 {
/*font-size: 20px;*/
/*text-indent: 40px;*/
color: red;
}
.d2 {
/*font-size: 20px;*/
/*text-indent: 40px;*/
color: blue;
}
.d3 {
/*font-size: 20px;*/
/*text-indent: 40px;*/
color: gray;
}
</style>
</head>
<body> <div class="d1">第一个div标签</div>
<div class="d2">第一个div标签</div>
<div class="d3">第一个div标签</div>
</body>
</html>

组选择器示例

6.伪类及伪元素选择器

常用的伪类选择器有hover,表示鼠标悬浮在元素上时的状态,伪元素选择器有before和after,它们可以通过样式在元素中插入内容。
常用于a标签。

伪类选择器举例
.box1:hover{color:red}
.box2:before{content:'行首文字';}
.box3:after{content:'行尾文字';}
<div class="box1">....</div>
<div class="box2">....</div>
<div class="box3">....</div>

06伪类和伪元素选择器示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>伪类和伪元素选择器</title>
<style>
.link {
font-size: 30px;
text-decoration: none;
color: deeppink;
}
/* 使用伪类选择器 在鼠标悬浮链接后变色加粗 */
.link:hover {
color: aqua;
font-weight: bold;
}
.d1, .d2, .d3 {
font-size: 20px;
}
/*使用伪元素选择器,给文字前后添加内容*/
.d1:before {
content: "***";
color: red;
}
.d3:after {
content: "???";
color: blue;
}
</style>
</head>
<body>
<a href="http://www.baidu.com" class="link">百度一下,你就知道</a>
<div class="d1">这是第一个div标签</div>
<div class="d2">这是第二个div标签</div>
<div class="d3">这是第三个div标签</div>
</body>
</html>

06伪类和伪元素选择器示例

注意:

  • id选择器基本不用,用得最多的是类选择器。
  • 如果一个元素上有多个类,多个类之间有重复的样式,那么在外联式/嵌入式中后定义的类选择器的样式会覆盖先定义的;
  • id选择器的权重要高于类选择器的权重,即id和类的样式同时作用于一个内容区,会优先使用id的样式;

前端之CSS1的更多相关文章

  1. 前端开发【第2篇:CSS】

    鸡血 样式的属性多达几千个,但别担心,按照80-20原则,常用的也就几十个,你完全可以掌握它. Css初识 HTML的诞生 早期只有HTML的时候为了让HTML更美观一点,当时页面的开发者会把颜色写到 ...

  2. 前端三部曲之Css-- 1(常见的居中方式)

    下面来介绍一下web端页面最常见的居中方式 页面的基本结构:一个简单的div <!DOCTYPE html> <html lang="en"> <he ...

  3. 零基础学WEB前端-CSS

    CSS指层叠样式表(Cascading Style Sheets),CSS 是标准的布局语言,用来控制元素的尺寸.颜色.排版.CSS 由 W3C 发明,用来取代基于表格的布局.框架以及其他非标准的表现 ...

  4. 前端html、Javascript、CSS技术小结

    简单地总结了一下前端用过的html.javascript.css技术,算是清点一下,做个大略的小结,为进一步的学习给个纲领. 一.HTML 由于HTML5的兴起,简单地判断一个网页是否是html5网页 ...

  5. 玩转CSS3,嗨翻WEB前端,CSS3伪类元素详解/深入浅出[原创][5+3时代]

    在我的上一篇博客中, 很多园友提出说对css3"画图"不是很理解, 在跟他们私聊了一段时间以后,加上自己在开始自学css3的时候的疑惑,我觉得大家之所以不是很理解主要是因为对伪元素 ...

  6. 各式 Web 前端開發工具整理

    程式碼編寫工具 (Coding Tools) 工作流程/建置/組合 (Workflow/Builds/Assemblers) lumbar brunch grunt lineman yeoman Ta ...

  7. ASP.NET给前端动态添加修改 CSS样式JS 标题 关键字

    有很多网站读者能换自己喜欢的样式,还有一些网站想多站点共享后端代码而只动前段样式,可以采用动态替换CSS样式和JS. 如果是webform 开发,可以用下列方法: 流程是首先从数据中或者xml读取数据 ...

  8. 前端开发面试题总结之——JAVASCRIPT(一)

    ___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...

  9. 前端基础-jQuery的内容之选择器

    阅读目录 ID选择器 类选择器 元素选择器 通配符选择器 层级选择器 基本筛选器 内容筛选器 可见性筛选器 属性筛选器 子元素筛选器 表单元素筛选器 表单对象筛选器 this和$(this) 一.jQ ...

随机推荐

  1. python-16-初识函数

    前言 以前写的python代码都是像记流水账一样,那么函数时什么额?它可以在任何需要它的地方进行调用,函数分为: 内置函数,print(),len() 自定义函数 一.自定义函数 1.我们都知道内置函 ...

  2. jmeter 中使用正则表达式提取依赖参数

    1:登录接口 这里有一个实际的登录接口,在响应中返回了一串token,如下图 那么我们在接下来的接口-经验库列表中,就必须带入这一串token,否则响应报错,如下图所示    如何获取登录的口令呢?这 ...

  3. Elasticsearch 6.x版本全文检索学习之聚合分析入门

    1.什么是聚合分析? 答:聚合分析,英文为Aggregation,是es除搜索功能外提供的针对es数据做统计分析的功能.特点如下所示: a.功能丰富,提供Bucket.Metric.Pipeline等 ...

  4. Go-获取变量数据类型

    package main import ( "fmt" "reflect" //这个包里的TypeOf方法获取变量数据类型 ) func main(){ b : ...

  5. Ling to sql 多表查询,多个条件进行关联

    使用多表查询进行关联时,提示 join子句中其中一个表达式的类型不正确,注意字段类型和名称要一致,否则join时提示语法错误,错误截图如下 var incomeDetails = from a in ...

  6. 【C#】学习笔记(4) 值类型和引用类型相关(Null相关)

    Reference and Value Types Value Types(值类型): struct(结构体) 独立的实例或者是拷贝 值的改变不会影响其它拷贝 值就是它所代表的信息 没有引用,所以不可 ...

  7. Vue组件化开发

    Vue的组件化 组件化是Vue的精髓,Vue就是由一个一个的组件构成的.Vue的组件化设计到的内容又非常多,当在面试时,被问到:谈一下你对Vue组件化的理解.这时候又有可能无从下手,因此在这里阐释一下 ...

  8. Tensorflow创建会话,启动会话

    import tensorflow as tf #定义一个常量 m1=tf.constant([[,]])#这是一个一行两列的数据 print(m1) m2=tf.constant([[],[]]) ...

  9. LeetCode刷题191118

    博主渣渣一枚,刷刷leetcode给自己瞅瞅,大神们由更好方法还望不吝赐教.题目及解法来自于力扣(LeetCode),传送门. 算法: 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按 ...

  10. numpy中array和matrix的区别

    两者相似但执行相同的运算可能得到不同的结果 显然,array只能通过dot()实现"矩阵乘法",array的"*"运算实现的是两个纬度相同的"矩阵&q ...