前端CSS讲义1

news2024/11/23 22:03:18

什么是 CSS?

  • CSS 指层叠样式表 

  • 样式定义如何显示 HTML 元素

  • 样式通常存储在样式表

  • 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题

  • 外部样式表可以极大提高工作效率

  • 外部样式表通常存储在 CSS 文件

  • 多个样式定义可层叠为一

  • 样式对网页中元素位置的排版进行像素级精确控制

CSS 语法

CSS 实例

CSS 规则由两个主要的部分构成:

选择器,以及一条或多条声明:

选择器通常是您需要改变样式的 HTML 元素。

每条声明由一个属性和一个值组成。

属性(property)是您希望设置的样式属性(style attribute)。

每个属性有一个值。属性和值被冒号分开。

CSS 声明总是以分号 ( ; ) 结束,声明组以大括号 ({ }) 括起来:

p {color:red;text-align:center;}

CSS 颜色值的写法

在描述颜色的时候,除了使用英文单词 red,还可以使用十六进制的颜色值 #ff0000:

p { color: #ff0000; }

 我们还可以通过两种方法使用 RGB 值:

p { color: rgb(255,0,0); } p { color: rgb(100%,0%,0%); }

提示:当使用 RGB 百分比时,即使当值为 0 时也要写百分比符号。但是在其他的情况下就不需要这么做了。比如说,当尺寸为 0 像素时,0 之后不需要使用 px 单位。 

 CSS 注释

CSS注释以 "/*" 开始, 以 "*/" 结束, 实例如下:

/*这是个注释*/        

p        

{       

text-align:center;       

/*这是另一个注释*/     

color:black;     

font-family:arial;       

}

CSS Id 和 Class选择器

如果你要在 HTML 元素中设置 CSS 样式,你需要在元素中设置 "id" 和 "class" 选择器。

id 选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。

HTML 元素以 id 属性来设置 id 选择器,CSS 中 id 选择器以 来定义。

以下的样式规则应用于元素属性 id = "para1":

示例:

#para1
{ text-align:center;
color:red; }

注:

ID 属性不要以数字开头。

ID 属性只能在每个 HTML 文档中出现一次。

 class 类选择器

  • class 可以在多个元素中使用。

class 选择器在 HTML 中以 class 属性表示, 在 CSS 中,类选择器以一个点"."号显示:

在以下的例子中,所有拥有 center 类的 HTML 元素均为居中。

示例:

.center {text-align:center;}

你也可以指定特定的 HTML 元素使用 class。

在以下实例中, 所有的 p 元素使用 class="center" 让该元素的文本居中:

 p.center {text-align:center;}

 标签选择器

除了提到的 id 和 class 选择器外,第三种选择器为标签选择器,即以 HTML 标签作为 CSS 修饰所用的选择器。

示例:

<style>

h3{color:red;}

</style>

<h3>W3cschool教程</h3>

内联选择器

直接在标签内部写 CSS 代码。

实例:

<h3 style="color:red;">W3cschool教程</h3>

 优先级

这四种 CS 选择器有修饰上的优先级,即:

内联选择器 > id选择器 > 类选择器 > 标签选择器

CSS 创建 

插入样式表的方法有三种:

  • 外部样式表
  • 内部样式表
  • 内联样式

 外部样式表

当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用 标签链接到样式表。 标签在(文档的)头部

<head> <link rel="stylesheet" type="text/css" href="mystyle.css"> </head>

浏览器会从文件 mystyle.css 中读到样式声明,并根据它来格式文档。

外部样式表可以在任何文本编辑器中进行编辑。文件不能包含任何的 html 标签。样式表应该以 .CSS 扩展名进行保存。下面是一个样式表文件的例子:

hr {color:sienna;}            

p {margin-left:20px;}            

body {background-image:url(/images/back40.gif);}

 内部样式表

当单个文档需要特殊的样式时,就应该使用内部样式表。你可以使用 <style> 标签在文档头部定义内部样式表,就像这样:

<head>

<style>

hr {color:sienna;}

p {margin-left:20px;}

body {background-image:url("images/back40.gif");}

</style>

</head>

内联样式

由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。请慎用这种方法,例如当样式仅需要在一个元素上应用一次时。

要使用内联样式,你需要在相关的标签内使用样式(style)属性。Style 属性可以包含任何 CSS 属性。本例展示如何改变段落的颜色和左外边距:

<p style="color:sienna;margin-left:20px">这是一个段落。</p>

多重样式

如果某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来。

例如,外部样式表拥有针对 H3 选择器的三个属性:

h3       

{        

color:red;        

text-align:left;     

font-size:8pt;    

}

而内部样式表拥有针对 H3 选择器的两个属性:

h3       

{        

text-align:right;        

font-size:20pt;     

}

假如拥有内部样式表的这个页面同时与外部样式表链接,那么 H3 得到的样式是:

color:red; text-align:right;        

font-size:20pt;

 即颜色属性将被继承于外部样式表,而文字排列(text-alignment)和字体尺寸(font-size)会被内部样式表中的规则取代。

层叠次序

当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢?

一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。

  1. 浏览器缺省设置
  2. 外部样式表
  3. 内部样式表(位于 head 标签内部)
  4. 内联样式(在 HTML 元素内部)

因此,内联样式(在 HTML 元素内部)拥有最高的优先权,这意味着它将优先于以下的样式声明: 标签中的样式声明,外部样式表中的样式声明,或者浏览器中的样式声明(缺省值)。

 提示:如果你使用了外部文件的样式在内部样式中也定义了该样式,则内部样式表会取代外部文件的样式。

多重样式优先级深入理解 

优先级用于浏览器是通过判断哪些属性值与元素最相关以决定并应用到该元素上的。

优先级仅由选择器组成的匹配规则决定的。

优先级就是分配给指定的CSS声明的一个权重,它由匹配的选择器中的每一种选择器类型的数值决定。

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

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

相关文章

SAP 计划策略82简介

前面的文章中我们已经测试了很多才策略,10、11、40、50、70、60、63 80策略。 本文将重点说明ATO模式下82策略的使用场景,计划策略82是SAP提供的另一种基于按单生产思想的计划策略,由客户的需求来直接驱动直接生产,是一个按单生产的场景。 1、首先我们先看下系统后台82策略…

一篇文章带你了解1688超级工厂、牛头标志、诚信通

1688涵盖了各个行业的优质供应商&#xff0c;今天这篇文章带大家深入了解1688超级工厂、实力商家、诚信通年限这3种标识分别代表的意义&#xff0c;帮助各位商家在电商选品选择供应商时有更加清晰的判断。 一、1688超级工厂 超级工厂是具备生产能力和技术实力的工厂型商家的专…

【JavaWeb】Day38.MySQL概述——数据库设计-DQL(一)

数据库设计——DQL 介绍 DQL英文全称是Data Query Language(数据查询语言)&#xff0c;用来查询数据库表中的记录。 查询关键字&#xff1a;SELECT 查询操作是所有SQL语句当中最为常见&#xff0c;也是最为重要的操作。在一个正常的业务系统中&#xff0c;查询操作的使用频次…

为什么越来越多的网工运维转行网络安全?

最近越来越多的网工运维小伙伴都在吐槽&#xff1a;干网工、运维多年&#xff0c;薪资还是5.6K&#xff0c;技术也遇瓶颈上不去&#xff0c;考虑转岗或者转行。其中大部分的网工运维小伙伴们纷纷瞄准了高薪高前景的网络安全工程师岗位 网络安全是怎样的岗位&#xff1f; 人才…

【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态

博主打算从0-1讲解下java基础教学&#xff0c;今天教学第五篇&#xff1a;Java面向对象编程&#xff1a;类、对象、继承、多态。 在Java中&#xff0c;面向对象编程是一种常用的编程范式&#xff0c;它以类和对象为核心&#xff0c;通过继承和多态等机制实现代码的复用和灵活…

真的高效!AI帮你三步搞定直播内容精华汇总

最近参加的圈子直播不断&#xff0c;有时候直播时间还互相冲突&#xff0c;看不过来&#xff0c;根本看不过来&#x1f923;。 虽然直播有回放&#xff0c;但是打工人时间也是真的不够用&#xff0c;也不一定有时间每个回放都看&#xff0c;但是又不想错过直播里面的精彩内容。…

制造行业项目管理系统哪家好?找企智汇项目管理系统

企智汇项目管理系统是一款非常适合制造业使用的项目软件。它提供了从项目立项、计划制定、进度管理、物料管理到项目结项的全过程管理&#xff0c;帮助企业高效地管理各个项目&#xff0c;确保项目按时、按质量完成。以下是企智汇项目管理系统的一些核心特点&#xff1a; 1.项…

3D医疗图像配准 | 基于Vision-Transformer+Pytorch实现的3D医疗图像配准算法

项目应用场景 面向医疗图像配准场景&#xff0c;项目采用 Pytorch ViT 来实现&#xff0c;形态为 3D 医疗图像的配准。 项目效果 项目细节 > 具体参见项目 README.md (1) 模型架构 (2) Vision Transformer 架构 (3) 量化结果分析 项目获取 https://download.csdn.net/down…

超低功耗Sub-1G收发芯片DP32RF002 M0内核(G)FSK/OOK 无线收发机的32位SoC芯片

产品概述 DP32RF002是深圳市动能世纪科技有限公司研制的基于ARMCortex-MO内核的超低功耗 高性能的、单片集成(G)FSK/OOK 无线收发机的32位SoC芯片。工作于200 ~960MHz范围内&#xff0c;支持灵活可设的数据包格式&#xff0c;支持自动应答和自动重发功能&#xff0c;支持跳频…

K8s学习四(资源调度_1)

资源调度 发现对Pod操作不方便&#xff0c;不能直接操作&#xff0c;而且不能直接编辑&#xff0c;需要对原来的配置文件进行操作&#xff0c;而且需要删除之后再创建Pod&#xff0c;不方便&#xff0c;更多是通过控制器来操作。 Label和Selector 通过设置标签和选择器来确定…

Android性能优化RecyclerView预加载LayoutManager的getExtraLayoutSpace,Kotlin

Android性能优化RecyclerView预加载LayoutManager的getExtraLayoutSpace&#xff0c;Kotlin RecyclerView默认只加载当前屏幕肉眼可见区域的有限item数量&#xff0c;有些场景下&#xff0c;需要在屏幕外不可见的区域多加载一批item出来&#xff0c;这有时候被称之为“预加载”…

03—js条件语句和循环语句

什么是语句&#xff1f;为了讲明白这个概念我有幸邀请了一个特殊嘉宾&#xff0c;是谁呢&#xff1f;就是任劳任怨一听就干的三年级二班的小明同学。小明同学的妈妈给小明了张纸条上面写着&#xff0c;买酱油&#xff0c;遛狗&#xff0c;吃饭&#xff0c;刷马桶&#xff0c;那…

装机指导。

everything winrar snipaste cmake git tortoisegit tortoisesvn inno setup vs2022 安装的时候注意sdk路径一定要默认&#xff01;&#xff01; 否则你会发现在你的sdk安装路径的根盘符下会多出一个Windows Kits&#xff0c;强迫症接受不了 默认的会跟已有的装在一起…

YOLO系列小样本数据集进行数据增强

代码参考地址&#xff1a;YoloDatasetsEnhance 处理数据增强需要用到images和labels。我保存的labels是txt文件&#xff0c;但是enhance_engine.py中需要对xml文件进行处理&#xff0c;因此需要TxtTransformXml.py将txt文件进行转换。 转换需要修改的地方如下&#xff1a; 路…

Unity笔记之Android打包、减小包体之类的问题

打包问题 问题1&#xff1a; 一般大部分问题就是JDK、SDK、NDK之类的问题。现在是其他的问题&#xff0c;之前遇到过&#xff0c;好久没玩android了都忘了。 这试了半天&#xff0c;结果是需要有密钥库。那就给他创建一个填一下就行了 &#xff08;在网上看了半天&#xff…

Java常用算法API_Arrays和Lambda表达式——代码演示和小练习

Arrays常用方法代码演示&#xff1a; 方法作用及注意点已在代码中标注 public class ArraysDemo {public static void main(String[] args) {//toString:将数组变成字符串int[] arr {1,2,3,4,5,6,7,8,9};System.out.println(Arrays.toString(arr));System.out.println();//bi…

【话题】AI技术创业有那些机会,简单探讨下

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章&#xff0c;这是《话题》系列文章 目录 背景机会一、引言二、AI技术的创业机遇1.智能服务行业的兴起2.数据驱动的业务模式创新3.AI与产业融合的创新发展 三、AI技术创业的挑战1.技术门槛高2.法规政策的不确定性…

【LeetCode】动态规划类题目详解

所有题目均来自于LeetCode&#xff0c;刷题代码使用的Python3版本 动态规划 问题分类 如果某一个问题有重叠的子问题&#xff0c;则使用动态规划进行求解是最有效的。 动态规划中每一个状态一定是由上一个状态推导出来的&#xff0c;这一点区别于贪心算法 动态规划五部曲 确…

[2024]最新激活Navicat教程附激活码

PS&#xff1a;在开始前&#xff0c;建议先断开本地网络&#xff01;&#xff01;&#xff01;建议先断开本地网络&#xff01;&#xff01;&#xff01;建议先断开本地网络&#xff01;&#xff01;&#xff01; 1 安装 1.1 点击下一步 1.2 许可证选择“我同意”&#xff0c…

手机空号检测API接口怎么对接

我们先说一说什么是手机空号检测接口&#xff0c;手机空号检测接口又叫运营商空号检测接口、手机号码状态检测接口&#xff0c;那么这个接口怎么对接呢? 首先找到一家有这个数据接口的服务商&#xff0c;比如数脉API,然后注册账号购买免费套餐 接下来就需要程序员同学来用自己…