文章目录

  • 1.CSS字体属性
    • 1.1 font-family
    • 1.2 font-size
    • 1.3 font-weight
    • 1.4 font-style
    • 1.5 字体复合属性
    • 1.6 文本颜色
    • 1.7 文本对齐
    • 1.8 装饰文本
    • 1.9 行间距
  • 2.CSS元素的显示模式
    • 2.1 块元素
    • 2.2 行内元素
    • 2.3 行内块元素
    • 2.4 CSS的元素显示转换
    • 2.5 单行文字垂直居中的原理
  • 3.CSS的背景
    • 3.1 背景颜色
    • 3.2 背景图片
    • 3.3 背景平铺
    • 3.4 背景图片位置
    • 3.5 背景附着
    • 3.6 背景色半透明
  • 4. 外边距的典型应用
  • 5. 圆角边框
  • 6. 盒子阴影

1.CSS字体属性

CSS font属性用于定义字体系列、大小、粗细和字体样式(如斜体)。

1.1 font-family

CSS使用font-family属性定义文本的字体系列。
例:

p {font-family: "微软雅黑";
}div {font-family: Arial, "微软雅黑","Microsoft Yahei";
}
  • 各种字体之间必须使用英文状态下的逗号隔开。
  • 一般情况下,如果有空格隔开的多个单词组成的字体需加引号,即上面的Microsoft Yahei用了双引号引上。
  • 尽量使用系统默认自带字体,保证在任何用户的浏览器中都能正确显示。
  • 最常见的几个字体:font-family:“Microsoft Yahei”,tahoma,arial,“Hiragino Sans GB”;
1.2 font-size

CSS使用font-weight属性设置文本字体的字号。

p {font-size: 20px;
}
  • px(像素)大小是我们网页的最常用的单位。
  • 谷歌浏览器默认的文字大小为16px。
  • 不同浏览器可能默认显示的字号大小不一致,我们尽量给一个明确的值大小,不要默认大小。
  • 可以给body指定整个页面文字的大小。
1.3 font-weight

CSS使用font-weight属性设置文本字体的粗细。

p {font-weight: bold;
}
属性值 描述
normal 默认值(不加粗)
bold 定义粗体(加粗)
100~900 400等同于normal,而700等同于bold 注意这个数字后面不跟单位
  • 我们如何让加粗标签(比如h和strong等)不加粗,或者其它标签加粗?
/* 让加粗标签字体不加粗*/
strong {font-size: normal;
}/* 让不加粗标签字体加粗*/
p {font-size: 700;
}
1.4 font-style

CSS使用font-style属性设置文本的风格。

p {font-style:normal;
}
属性值 作用
normal 默认值,浏览器会显示正常的字体
italic 浏览器会显示斜体的字体样式
1.5 字体复合属性

字体属性可以把以上文字样式综合来写,这样更节省代码:

body {font:font-style font-weight font-size font-family;
}
  • 使用font属性时,必须按上面语法格式中的顺序书写,不能更换顺序,并且各个属性间以空格隔开。
  • 不需要设置的属性可以省略(取默认值),但是必须保留font-size和font-family属性,否则font属性不起作用。
1.6 文本颜色

color属性用于定义文本的颜色。

div {color: red;
}
表示形式 属性值
预定义的颜色值 red,green,blue等
十六进制 #FF0000,#FF6600等
RGB代码 rgb(255,0,0)或rgb(100%,0%,0%)
1.7 文本对齐

text-align属性用于设置元素文本内容的水平对齐方式。

div {text-align:center;
}
  • left:左对齐
  • right:右对齐
  • center:居中对齐
1.8 装饰文本

text-decoration属性规定添加到文本的修饰。可以给文本添加下划线、删除线、上划线等。

div {text-decoration:underline;
}
  • none:默认值。没有装饰线
  • underline:下划线。链接a标签自带下划线
  • overline:上划线。(几乎不用)
  • line-through:删除线(一般用于todo-list示例)
1.9 行间距

line-height属性用于设置行间的距离。可以控制文字行与行之间的距离。

p {line-height:26px;font-size:16px;
}

行高解释:

2.CSS元素的显示模式

什么是显示模式?
作用:网页的标签非常多,在不同的地方会用到不同类型的标签。
元素的显示模式就是元素(标签)以什么方式进行显示,比如< div >自己占一行,比如一行可以放多个< span >

HTML元素一般分为块元素和行内元素两种类型。

2.1 块元素

常见的块元素如下:

<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中div最为典型

块级元素的特点:

  • 比较霸道,自己独占一行。
  • 高度、宽度、外边距以及内边距可以控制。
  • 宽度默认是容器(父级宽度)的100%。
  • 是一个容器及盒子,里面可以放行内元素或者块级元素。

注意:

  • 文字类的元素内不能使用块级元素。
  • < p >标签主要用于存放文字,因此< p >里面不能放块级元素,特别是不能放< div >。
  • 同理,< h1 >~< h6 >等都是文字类的块级标签,里面不能放其它块级元素。
2.2 行内元素

常见的行内元素有:

<a> <strong>  <b>  <em>  <i>  <del>  <s> <ins>  <u>  <span>等,其中<span>标签
是最典型的行内元素

行内元素的特点:

  • 相邻行内元素在一行上,一行可以显示多个。
  • 高、宽直接设置是无效的。
  • 默认宽度就是它本身内容的宽度。
  • 行内元素只能容纳文本或其它行内元素。

注意

  • 链接里面不能再放链接
  • 特殊情况是< a >里面可以放块级元素,但是给< a>转换一下块级模式最安全。
2.3 行内块元素

在行内元素中有几个特殊的标签

<img />  <input />  <td>

它们同时具有块元素和行内元素的特点,有些资料称它们为行内块元素。

行内块元素的特点:

  • 和相邻行内元素在一行上,但它们之间会有空白缝隙,一行可以显示多个(行内元素特点)
  • 默认宽度就是它本身内容的宽度(行内元素特点).
  • 高度、行高、外边距以及内边距都可以控制(块级元素特点)
元素模式 元素排列 设置模式 默认宽度 包含
块级元素 一行只能放一个块级元素 可以设置宽度高度 容器的100% 容器级可以包含任何标签
行内元素 一行可以放多个行内元素 不可以直接设置宽度高度 它本身内容的宽度 容纳文本或其他行内元素
行内块元素 一行放多个行内块元素 可以设置宽度和高度 它本身内容的宽度
2.4 CSS的元素显示转换

特殊情况下,我们需要元素模式的转换,简单理解:一个模式的元素需要另外一种模式的特性。比如想要增加链接< a >的触发范围。

  • 转换为块元素:dispaly:block;
  • 转换为行内元素:display:inline;
  • 转换为行内块:display:inline-block;
2.5 单行文字垂直居中的原理


简单理解:行高的上空隙和下空隙把文字挤到了中间,如果行高小于盒子高度文字会偏上,如果行高大于盒子高度,则文字会偏下。

3.CSS的背景

通过CSS背景属性,可以给页面元素添加背景样式。
背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。

3.1 背景颜色

background-color属性定义了元素的背景颜色。

background-color:颜色值;

一般情况下,元素的背景颜色默认值是transparent(透明),我们也可以手动设置背景颜色为透明颜色。

3.2 背景图片

background-image属性描述了元素的背景图像。实际开发常见于logo或者一些装饰性的小图片或者超大的背景图片,优点是非常便于控制位置。

background-image:none|url;
  • none:无背景图
  • url:使用绝对或相对地址指定背景图像
3.3 背景平铺
background-repeat:repeat|no-repeat|repeat-x|repeat-y
  • repeat:背景图像在纵向和横向上平铺(默认值)
  • no-repeat:背景图像不平铺
  • repeat-x:横向平铺
  • repeat-y:纵向平铺
3.4 背景图片位置
background-position:length/positon

值可取x,y坐标值,单位为px,也可以取方位名词。

参数是方位名词

  • 如果指定了两个值都是方位名词,则两个值的前后顺序无关,比如left top和top left效果一致。
  • 如果只指定了一个方位名词,另一个值省略,则第二个值默认居中对齐。
3.5 背景附着
background-attachment:scroll||fixed;
3.6 背景色半透明

CSS3为我们提供了背景颜色半透明效果。

background:rgba(0,0,0,0.3);

最后一个参数是alpha透明度,取值范围在0~1之间。

4. 外边距的典型应用

外边距可以让块级盒子水平居中,但是必须满足两个条件:

  1. 盒子必须指定了宽度。
  2. 盒子左右外边距设置为auto。

注意:以上方法是让块级元素水平居中,行内元素或行内块元素水平居中给其父元素添加text-align:center;即可。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>插件</title></head><style>div{height:50px;background-color: pink;text-align: center;}span{background-color: blue;}</style><div><span>百度</span></div></body>
</html>

5. 圆角边框

在CSS3中,新增了圆角边框样式,这样我们就可以变圆角了。

语法:

border-radius:length;
  • 参数值可以是数值或百分比的形式。
  • 如果是正方形,想要设置为一个圆,把数值修改为高度或者宽度的一半即可,或直接写50%。
  • 如果是矩形,想要圆形边框,设置为高度的一半即可。

radius半径原理:圆与边框的交集形成了圆角的效果。

如上图所示,假设border-radius半径为10px,就会生成四个半径为10px的圆与矩形相切,外面的四大角就会被舍去,形成圆角边框。

1.正方形,想要设置为一个圆,把数值修改为高度或者宽度的一半即可,或直接写50%:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>插件</title></head><style>*{margin:0px;padding:0px;}div{height:200px;width:200px;border-radius: 100px;background-color: pink;}</style><div></div></body>
</html>


2.如果是矩形,想要圆形边框,设置为高度的一半即可。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>插件</title></head><style>*{margin:0px;padding:0px;}div{height:200px;width:400px;border-radius: 100px;background-color: pink;}</style><div></div></body>
</html>


规律:值用百分比表示时,取0%~50%,由小变大,圆角更加明显,当大于50%时,它的表现与50%是一样的,就是正规的圆角。

6. 盒子阴影

CSS3中新增了盒子阴影,我们可以使用box-shadow属性添加阴影。
语法:

box-shadow:h-shadow v-shadow blur spread color inset;
描述
h-shadow 必需,水平阴影的位置,允许负值
v-shadow 必需,垂直阴影的位置,允许负值
blur 可选,模糊距离,数值越大越模糊
spread 可选,阴影的尺寸,数值越大,阴影越大
color 可选,阴影的颜色
inset 可选。将外部阴影(outset)改为内部阴影

注意:

  1. 默认的是外阴影(outset),但是不可以写这个单词,否则阴影无效。
  2. 盒子阴影不占用空间,不会影响其它盒子排列。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>插件</title></head><style>* {margin: 0px;padding: 0px;}div {height: 200px;width: 200px;background-color: pink;margin: 100px auto;box-shadow: 30px 30px 10px 10px red;}</style><body><div></div></body>
</html>


上面代码box-shadow属性没有写入outset,因为它是默认值,如果你写入反而无法显示阴影了,如果你想在内部显示阴影再在上面添加inset。

前端三大技术栈之CSS3总结上相关推荐

  1. 前端三大技术 HTML、CSS、JavaScript 快速入门手册

    听到前端技术,不少朋友一定会感到有些陌生.但其实,前端,你每天都在接触. 你正在使用的APP,你正在浏览的网页,这些你能看到的界面,都属于前端. 而前端最重要的三大技术,HTML,CSS,JavaSc ...

  2. 10 分钟,带你快速入门前端三大技术(HTML、CSS、JavaScript)

    听到前端技术,不少朋友一定会感到有些陌生.但其实,前端,你每天都在接触. 你正在使用的APP,你正在浏览的网页,这些你能看到的界面,都属于前端. 而前端最重要的三大技术,HTML,CSS,JavaSc ...

  3. Web前端开发技术栈(前端干货)

    Web前端开发技术栈 浏览器 Internet Explorer(需要了解,需不需要看公司业务需求) Chrome(建议学习使用) Firefox(建议学习使用) Safari(建议学习使用) Ope ...

  4. javascript---001-运行原理01_前端三大技术_JS重要性_Atwood定律_JS应用_JS让人迷惑_TypeScript会取代JS吗_JS是一门编程语言_浏览器工作原理_浏览器内核

    javascript-001-运行原理01 1.前端三大技术 HTML CSS Javascript 2.Javascript的重要性 (1)javascript是很多框架的基础,Vue,React, ...

  5. Web前端开发大系概览 (前端开发技术栈)

    前言 互联网建立50多年了,网站开发技术日新月异,但web前端始终离不开浏览器,最终还是HTML+JavaScript+CSS这3个核心,围绕这3个核心而开发出来大量技术框架/解决方案. 我从2000 ...

  6. 将前端技术栈移植到掌上游戏机

    https://juejin.im/post/5df89b96518825125b21d0f6 前端工程师,我们编写的代码只能活在浏览器.小程序或者 Node 进程里,这似乎已经成为了一种常识.但这就 ...

  7. 【前端】前端及其技术栈

    文章目录 0)前端 1.什么是前端? 2.为什么需要前端? 前端的发展简史: 3.前端开发的类型 Web前端开发: 客户端(APP)开发: 4.前端与后端的交互 Ajax: Socket: *前端技术 ...

  8. 前端开发技术栈(插件篇):400+常用前端开发插件总结清单(持续更新......)

    常用前端开发插件总结清单,日常前端开发的时候,尤其在使用一些常用的功能的时候,例如:表单,,动画效果,时间选择,文件上传,下拉框等功能.直接用插件可以让自己节省更多的开发时间,更多的去关心业务,自己封 ...

  9. 关于Java 软件工程师应该知道或掌握的技术栈

    鄙人星云,今天突然想写这么一篇需要持续更新的文章,主要目的用于总结当前最流行的技术和工具,方便自己也方便他人. 更新时间:2018-10-23 09:26:19 码农职业路径图 码农入门职业路径图 J ...

最新文章

  1. CTO让我研究中台(一):阿里的“数据+业务”双中台架构
  2. ../include/my_global.h:1107: 错误:对 C++ 内建类型‘bool’的重声明
  3. python培训出来的有公司要吗-参加Python培训后真的能找到工作吗?上海Python培训...
  4. tns 连接超时_ORA-12170:TNS:连接超时
  5. SAP CRM的user status和system status
  6. k8s--configmap
  7. 80 个例子,彻底掌握Python日期时间处理
  8. 威马董事长沈晖隔空喊话王兴:威马一定会是Top3之一
  9. python爬取音乐_Python现学现用xpath爬取豆瓣音乐
  10. webstorm使用插件 statistic 统计代码
  11. php 导出excel 汉字乱码问题
  12. 如何设置cout的输出格式(转)
  13. linux中符号链接啥意思,linux – 为什么我不能在符号链接中使用“...
  14. 计算机毕业设计java+ssm校友交流论坛(源码+系统+mysql数据库+Lw文档)
  15. 画活动图教程_怎么用sai画出干净的线稿?超详细的sai动漫线稿教程
  16. icd11中文版精神障碍pdf_精神与行为障碍类别目录(ICD-11)(借鉴资料)
  17. java maven是做什么的_maven是干什么用的
  18. JavaScript实现动态显示时间
  19. html消息对话框,添加消息对话框 (HTML)
  20. 重启linux系统后 启动mysql ERROR! The server quit without updating PID file /var/run/mysqld/mysqld.pid

热门文章

  1. 刀塔霸业android安装包,刀塔霸业互通版下载-刀塔霸业手机版 1.0.0 安卓版-新云软件园...
  2. OpenCv--Mat矩阵(图像容器)的创建及CV_8UC1,CV_8UC2等参数详解
  3. AE+PS如何制作动效图
  4. 2023考研时间定了!
  5. 高通710能用鸿蒙吗,骁龙710性能如何
  6. (Java)String截取指定字符前面(后面)所有字符和String的常用方法
  7. string截取字符串
  8. 双项荣耀|海泰方圆斩获第二届密码丰会“成长力企业奖”“创新力企业奖”
  9. autowire异常的三个情况
  10. 解决mac m1环境下centos虚拟机无法连接网络