css3基础语法与盒模型

news2024/11/18 0:45:13

css3基础语法与盒模型

  • 前言
  • CSS3基础入门
    • css3的书写位置
      • 内嵌式
      • 外链式
      • 导入式(工作中几乎不用)
      • 行内式
    • css3基本语法
    • css3选择器
      • 标签选择器
      • id选择器
      • class类名
      • 原子类
      • 复合选择器
      • 伪类
      • 元素关系选择器
      • 序号选择器
      • 属性选择器
      • css3新增伪类![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7e56e99b96c245c0b4c15fdadd46fa29.png)
      • 伪元素
      • 层叠性和选择器权重计算
        • 普通选择器权重
        • 复杂选择器权重
        • !important提升权重
    • 文本与字体属性
      • 常用文本样式属性
        • color 属性
        • font-size属性
        • font-weight属性
        • font-style属性
        • text-decoration属性
      • 字体属性详解
        • font-family属性
      • 段落和行相关属性
      • 继承性
    • 盒模型
        • **padding**内边距
        • **margin**外边距
        • **box-sizing**属性
        • **display**属性
        • 元素的隐藏
  • 结语

前言

CSS是网页设计的灵魂,而了解其基础语法与盒模型则是打开这扇门的第一步。就像学习一门新语言,我们需要了解语法规则,并掌握构建页面的基本单位,即盒模型。本文将带你踏上这场代码之旅,解开CSS3的神秘面纱。

CSS3基础入门

  • CSS (cascading style sheet,层叠式样式表)是用来给HTML标签添加样式的语言
  • CSS3是CSS的最新版本,增加了大量的样式、动画、3D特效和移动端特性等
    在这里插入图片描述

css3的书写位置

内嵌式

在标签对中,书写标签对,里面书写CSS语句

外链式

  • 可以将CSS单独存为.css文件,然后使用标签引入它
  • 外链式的优点:多个html网页,可以共用一个css样式表文件

在这里插入图片描述

导入式(工作中几乎不用)

在这里插入图片描述

行内式

在这里插入图片描述

css3基本语法

在这里插入图片描述

  • 最后一条样式可以不书写分号
  • 可以没有换行.
  • 注释 /**/

css3选择器

标签选择器

  • 标签选择器也称元素选择器、类型选择器,它直接使用元素的标签名当做选择器,将选择页面上所有该种标签
  • 标签选择器将选择页面上所有该种标签,无论这个标签所处位置的深浅
  • 标签选择器“覆盖面”非常大,所以通常用于标签的初始化

id选择器

  • 标签可以有id属性,是这个标签的唯一标识
  • id的名称只能由字母、数字、下划线、短横构成,且不能以数字开头,字母区分大小写,但习惯上一般为小写字母
  • 同一个页面上不能有相同id的标签
  • CSS选择器可以使用井号#前缀,选择指定id的标签

class类名

  • class属性表示“类名"
  • 类名的命名规范和id的命名规范相同
  • 使用点前缀选择指定class的标签
  • 多个标签可以为相同类名
  • 同一个标签可以同时属于多个类,类名用空格隔开

原子类

  • 在做网页项目前,可以将所有的常用字号、文字颜色、行高外边距、内边距等都设置为单独的类
  • HTML标签就可以“则需选择”它的类名了,这样可以非常快速的添加一些常见样式

复合选择器

在这里插入图片描述

伪类

  • 指定要选择的元素的特伪类是添加到选择器的描述性词语,殊状态,超级链接拥有4个特殊状态
  • a标签的伪类书写,要按照“爱恨准则”的顺序,否则会有伪类不生效
    在这里插入图片描述
    在这里插入图片描述

元素关系选择器

在这里插入图片描述

序号选择器

在这里插入图片描述

  • :nth-child()可以写成an + b的形式,表示从b开始每a个选一个,注意不能写为b +an

  • 2n+1等价于odd,表示奇数

  • 2n等价于even,表示偶数

    .box2 p:ntn-child(2n){
    	color:green
    }
    // 等价于2n = even
    .box2 p:ntn-child(even){
    	color:green
    }
    

在这里插入图片描述

注意陷阱:
在这里插入图片描述

属性选择器

在这里插入图片描述

css3新增伪类在这里插入图片描述

伪元素

  • CSS3新增了“伪元素”特性,顾名思义,表示虚拟动态创建的元素
  • 伪元素用双冒号表示,IE8可以兼容单冒号
  • ::before 创建一个伪元素,其将成为匹配选中的元素的第一个子元素,必须设置 content 属性表示其中的内容
  • ::after 创建一个伪元素,其将成为匹配选中的元素的最后个子元素,必须设置 content 属性表示其中的内容
  • ::selection CSS伪元素应用于文档中被用户高亮的部分,使用鼠标圈选的部分
  • :first-letter会选中某元素中(必须是块级元素)第一行的第一个字母
  • ::first-line会选中某元素中 (必须是块级元素)第一行全部文字

层叠性和选择器权重计算

普通选择器权重

id权重>class权重>标签权重

复杂选择器权重

在这里插入图片描述

!important提升权重

在这里插入图片描述

文本与字体属性

常用文本样式属性

color 属性
  • color属性可以设置文本内容的前景色
  • color属性主要可以用英语单词、十六进制、rgb()、rgba()等表示法
    • 英语单词表示法,比如color:red 仅仅用于学习时临时设置一下颜色,工作时基本不用这样的形式,因为追求精确
    • 十六进制表示法是所有设计软件中都通用的颜色表示法,设计师给我们的设计图上面标注的颜色,通常为十六进制表示 比如:color:#ff0000(十六进制ff就是十进制的255,每种颜色分量都是0~255的数字),如果颜色值是#aabbcc的形式,可以简写为#abc(常见的颜色有:黑色#000、白色#fff、灰色#ccc、#333、#2f2f2f等)
    • rgb()表示法,比如 color:rgb(255,0,0)
    • 颜色也可以用rgba()表示法,最后一个参数表示透明度,介于0到1之间,0表示纯透明,1表示纯实心 比如 color:rgba(255,0,0,.65),rgba()表示法从IE9开始兼容
font-size属性

font-size属性用来设置字号,单位通常为px,em,rem,网页文字正文字号通常是16px,浏览器最小支持10px字号

font-weight属性

font-weight属性设置字体的粗细程度,通常就用normal和bold两个值
在这里插入图片描述

font-style属性

font-style设置字体的倾斜
在这里插入图片描述

text-decoration属性

text-decoration属性用于设置文本的修饰线外观的(下划线、删除线)
在这里插入图片描述

字体属性详解

font-family属性
  • font-family属性用于设置字体
  • 字体可以是列表形式,一般英语字体放到前面,后面的字体是前面的字体的“后备”字体 eg:font-family:serif,“Times New Roman”,“微软雅黑” ,注意(字体名称中有空格,必须用引号包裹,中文字体也需要用引号包裹)
  • 中文字体也可以称呼它们的英语名字:eg:微软雅黑 Microsoft Yahei , 宋体 SimSun
  • 字体通常必须是用户计算机中已经安装好的字体,所以一般来说设置为微软雅黑和宋体较多,设置成其他字体较少
  • 如何设置为用户电脑中没有的字体呢?那就必须自己定义新字体,这就需要我们有字体文件,用户加载网页的时候,会同时下载这些字体文件
  • 字体文件根据操作系统和浏览器不同,有eot、woff2.woff、ttf、svg文件格式,需要同时有这5种文件

段落和行相关属性

  • text-indent属性定义首行文本内容之前的缩进量,缩进两个字符应该写作eg:text-indent:2em(em表示2个字符的宽度)
  • line-height属性用于定义行高,单位可以是以px为单位的数值,也可以没有单位的数值,表示字号的倍数,这是最推荐的写法 eg:line-height:1.5
  • 单行文本垂直居中,设置行高=盒子高度,即可实现单行文本垂直居中 eg:text-align:center 文本水平居中
  • font合写属性:eg font:20px/1.5 Arial,“微软雅黑” (字号、行高、字体)在这里插入图片描述

继承性

  • 文本相关的属性普遍具有继承性,只需要给祖先标签设置,即可在后代所有标签中生效
  • 在继承的情况下,选择器权重计算失效,而是”就近原则(谁描述的近,听谁的)“

盒模型

所有HTML标签都可以看成矩形盒子,由width、height、padding、border构成,称为“盒模型

padding内边距
  • 上右下左(padding:1px 1px 1px 1px) 上左右下(padding:1px 1px 1px) 上下左右(padding:1px 1px)
margin外边距
  • 竖直方向的margin有塌陷现象: 小的margin会塌陷到大的margin中,从而margin不叠加,只以大值为准
  • 一些元素(比如body、ul、p等) 都有默认的margin,在开始制作网页的时候,要将他们清除
    • eg: *{ margin:0;padding:0} *通配符选择器表示选择所有元素
    • body,ul,p{margin:0;padding:0} 通配符有效率问题,应该使用并集选择器
  • 盒子的水平居中,将margin都设置为auto,盒子将水平居中
box-sizing属性
  • 将盒子添加了box-sizing: border-box; 之后,盒子的widthheight数字就表示盒子实际占有的宽高(不含margin)了,即padding、border变为“内缩”的,不再“外扩
  • box-sizing属性大量应用于移动网页制作中,因为它结合百分比布局、弹性布局等非常好用,在PC页面开发中使用较少
  • box-sizing属性兼容到IE9
display属性

在这里插入图片描述

  • 行内块:img和表单元素师特殊的行内块,它们既能够设置宽度高度,也能够并排显示
  • 行内元素和块级元素的相互转换
    • 使用display:block;即可将元素转为块级元素
    • 使用display:inline;即可将元素转为行内元素,将元素转为行内元素的应用不多见
    • 使用display:inline-block;即可将元素转为行内块
元素的隐藏
  • 使用display: none;可以将元素隐藏,元素将彻底放弃位置,如同没有写它的标签一样
  • 使用visibility: hidden;可以也可以将元素隐藏,但是元素不放弃自己的位置

结语

在学习CSS3的基础语法与盒模型之后,你将能够更加自如地掌控页面的外观与布局。这是一场充满乐趣的旅程,让我们共同迎接前端世界的挑战,创造出令人瞩目的网页设计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1378897.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java SE语法篇】6.数组

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 文章目录 1.数组的基本概念1.1 为什么使用数组?1.…

如何一键添加引号和英文逗号,然后可以放入SQL中使用 → WHERE USER_NAME IN (‘张三‘,‘李四‘,‘王五‘)

如何一键添加引号和英文逗号,然后可以放入SQL中使用 → WHERE USER_NAME IN(张三,李四,王五) 一、背景二、解决方法三、一键添加引号和英文逗号的教程 一、背景 在日常开发中,当处理VARCHAR或VARCHAR2类型的字段时,很…

【Linux实用篇】Linux常用命令(1)

目录 1.1 Linux命令初体验 1.1.1 常用命令演示 1.1.2 Linux命令使用技巧 1.1.3 Linux命令格式 1.2 文件目录操作命令 1.2.1 ls 1.2.2 cd 1.2.3 cat 1.2.4 more 1.2.5 tail 1.2.6 mkdir 1.2.7 rmdir 1.2.8 rm 1.1 Linux命令初体验 1.1.1 常用命令演示 在这一部分中…

关于鸿蒙的ArkUI的自我理解

先不说好不好上手 一些软件必要的基础概念了解 ①瓦片地图 --无或未找到 ②视频播放功能 --未找到能播放直播流(找到个 ohos/ijkplayer不知如何) ③支付功能 微信无 支付宝的是java代码写得,AskUI中如何调用 ④推送 --自己应该有吧 ⑤长…

influxdb: 元数据操作

一、写语法 https://docs.influxdata.com/influxdb/v1.7/write_protocols/line_protocol_tutorial/ 二、字段类型 https://docs.influxdata.com/influxdb/v1.7/write_protocols/line_protocol_reference/ 获取库下的表列表 SHOW MEASUREMENTS [ON <database_name>]…

MySQL的Windows系统安装

一、MySQL的Windows系统安装 1、下载MySQL安装包 打开如下链接地址&#xff0c;下载安装包 2、安装并配置 双击下载好的安装包进行安装&#xff0c;出现如下界面&#xff1a; 选择【 Full 】选项&#xff0c;然后单击【 Next 】按钮。 出现如下界面&#xff0c;单击【 Execute…

HCIA的交换机(单臂路由)

实现单臂路由的IP自动分配 实验素材&#xff1a; 实现思路&#xff1a; 交换机&#xff1a;创建VLAN10&#xff0c;VLAN20&#xff0c;将0/0/1&#xff0c;2划入相应VLAN&#xff0c;接口使用access模式&#xff0c; 要实现两个交换机之间的通信&#xff0c;须在0/0/3口使用t…

HTML 链接 图片引入

文章目录 链接图片引入 链接 准备工作 新建一个名为link.html和suc.html suc.html <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><title>显示结果</title></head><body>注册成功...&l…

springboot+ipage分页频繁请求会报错 自动添加多一个limit

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near LIMIT 500 at line 3 这个原因是因为springboot配置mysql的连接池太…

2024阿里云服务器ECS介绍_全方位解析_CPU性能详解

阿里云服务器ECS英文全程Elastic Compute Service&#xff0c;云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;阿里云提供多种云服务器ECS实例规格&#xff0c;如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等&#xff0c;阿里云百科aliyunbai…

HTTP 常见协议:选择正确的协议,提升用户体验(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

「Qt Widget中文示例指南」如何实现一个日历?(二)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 本文中的CalendarWi…

UG装配-多运动组合动画与自动创建装配路径

当圆盘在装配过程中既有旋转运动&#xff0c;又有直线运动的时候&#xff0c;我们需要用到序列中的抽取路径 抽取路径命令在如下位置&#xff0c;需要注意的是&#xff0c;使用抽取路径前&#xff0c;如果有其他零件与所取对象配合&#xff0c;需要先物体脱离或使用拆卸对其脱离…

什么情况下考虑同时接入SD-WAN与MPLS

在企业网络架构中&#xff0c;SD-WAN和MPLS&#xff08;多协议标签交换&#xff09;都是常见的网络连接解决方案。而有时候&#xff0c;企业可能面临一种情况&#xff0c;即需要同时接入SD-WAN和MPLS。本文将探讨在什么情况下考虑同时使用这两种网络连接方式&#xff0c;并分析…

NAND新一代接口Separate Command Address (SCA) 简介

通过NAND Flash总线传输的信号分为三种类型&#xff1a;命令&#xff08;Commands&#xff09;、地址&#xff08;Addresses&#xff09;和数据&#xff08;Data&#xff09;。这些信号利用DQ[7:0]时间分时复用技术&#xff0c;在不同的时间段分别进行传输。其中&#xff0c;数…

监督学习 - 逻辑回归(Logistic Regression)

什么是机器学习 逻辑回归&#xff08;Logistic Regression&#xff09;虽然名字中包含"回归"一词&#xff0c;但实际上是一种用于解决分类问题的统计学习方法&#xff0c;而不是回归问题。它是一种线性模型&#xff0c;常用于二分类问题&#xff0c;也可以扩展到多分…

亚马逊云科技 WAF 部署小指南(五):在客户端集成 Amazon WAF SDK 抵御 DDoS 攻击...

方案介绍 在 WAF 部署小指南&#xff08;一&#xff09;中&#xff0c;我们了解了 Amazon WAF 的原理&#xff0c;并通过创建 WEB ACL 和托管规则防护常见的攻击。也了解了通过创建自定义规则在 HTTP 请求到达应用之前判断是阻断还是允许该请求。在 Amazon WAF 自定义规则中&am…

asp.net core项目发布到 iis上

我们都知道与传统asp.net 项目比较&#xff0c;ASP.NET Core则完全不同&#xff0c;它并不是运行在IIS的工作进程中&#xff0c;而是独立运行的。它运行于控制台应用程序之中&#xff0c;控制台中则运行了Kestrel Web服务器组件。Kestrel作为一款.NET Web服务器的实现&#xff…

【机器学习300问】6、什么是机器学习中的特征量?

一、首先我们看三个例子 例一&#xff1a;在辨别水果的任务中&#xff0c;人类一般会通过外观、味道、颜色等方面信息来进行区分。而机器学习则通过水果的颜色、重量、气味成分的量等被称之为“特征量”的数值来区分。 例二&#xff1a;在手写数字识别任务中&#xff0c;人类…

20240112让移远mini-PCIE接口的4G模块EC20在Firefly的AIO-3399J开发板的Android11下跑通【DTS部分】

20240112让移远mini-PCIE接口的4G模块EC20在Firefly的AIO-3399J开发板的Android11下跑通【DTS部分】 2024/1/12 16:20 https://blog.csdn.net/u010164190/article/details/79096345 [Android6.0][RK3399] PCIe 接口 4G模块 EC20 调试记录 https://blog.csdn.net/hnjztyx/artic…