关于CSS的简单知识

news2025/1/18 6:54:15

CSS是什么

首先,在之前的html仅仅是写了一个框架,页面并不工整,美观。而CSS正是解决了这一问题。

HTML仅仅只是表示页面的结构和内容,而CSS描述的是页面的样式(包括大小/位置/字体/颜色/背景等)

基本语言规范

选择器+{一条/N条声明}

  • 选择器决定下面的这些声明针对谁起作用(修改谁)

  • 声明决定修改哪些内容

  • 声明的属性是键值对,使用 ; 来区分键值对,使用 : 区分键和值。

  • CSS代码可以放到HTML文件中,通常是放到style标签中

  • style标签可以放到页面上的任意位置,一般放到head标签内

  • CSS使用/* */来作为注释

引入方式

内部样式表

也就是通过style标签,来写CSS。写在style标签中,嵌入到HTML的标签内部。

优点:让样式和页面结构分离。

缺点:分离的不够彻底。

内联样式

通过HTML标签中的style属性来应用一些样式。(通常要搭配JS来使用)

这种写法只适合样式很简单的情况,如果样式很复杂就会变得很乱。

内联样式只是针对于当前的元素生效(不用写选择器,也不用写{},只要写CSS属性和值就行。

缺点:

  • 定义内联样式需要在每个 HTML 标签中定义 style 属性,很不方便;

  • 在内联样式中使用双引号或单引号时要特别小心,因为 HTML 标签的属性通常都会使用双引号来包裹属性的值,例如<input type="text">;

  • 在内联样式中定义的样式不能再其它任何地方重用;

  • 内联样式在后期维护时很不方便,因为一个网站通常有很多页面组成,当修改页面样式时需要对页面逐个修改;

  • 添加过多的内联样式会导致 HTML 文档的体积增大。

外部样式

  1. 创建一个css文件。

  1. 使用link标签引入css

也就是说:把CSS代码单独提取出来,放到了一个CSS文件中,然后要在HTML代码中通过link标签来引用这个CSS文件。

<link rel="stylesheet" href="CSS文件路径">

这个方法,可以让多个HTML复用同一份样式。类似于Java中定义的一个方法,不光要定义还要调用。

这种link标签,一般习惯于放入html的head标签中,这个标签可以存在多份(通过多个link来引用不同的CSS)。

优点:样式和结构彻底分离了。

缺点:受到浏览器缓存的影响,修改后不一定立即生效。

关于大小写和空格规范

虽然CSS不分大小写,但是开发时统一使用小写。

  • 冒号后面要带一个空格

  • 选择器和 { 之间也要有一个空格

选择器

选择器功能

选中页面中指定的标签元素

要先选中元素,才能设置元素的属性。

可以一次选中一个,也可以一次选中多个。

选择器种类

基础选择器

由单个选择器构成

标签选择器

选择器就是html的标签名。

特点:

能快速把同一类型的标签都选择出来。但是不能差异化选择。

类选择器

特点:

差异化表示不同的标签

通过类选择器,可以随心所欲的选择任意想要的元素。首先要在CSS代码中创建一个类名,在对应的HTML元素中,通过class来引入这个类名,此时具有该类名的元素,就都会应用上相关的CSS属性。

一些语法方面的细节:

  • 类名用 . 开头

  • 下方的标签使用class属性来调用

  • 一个类可以被多个标签使用,一个标签也能使用多个类(多个类名要使用空格分割开)

  • 如果是长的类名,可以使用 - 来分割,不要使用纯数字或者中文以及标签名来命名类名。

id选择器

id选择器和类选择器类似。

  • CSS中使用 # 开头来表示id选择器

  • id选择器的值和html中某个元素的id值相同

  • HTML的元素id不必带 #

  • id是唯一的,不能被多个标签使用。

通配符选择器

使用 * 的定义,选取所有的标签。

最大的用途是:取消浏览器的默认样式。

小结

作用

特点

标签选择器

能选出所有相同标签

不能差异化选择

类选择器

能选出一个或多个标签

根据需求选择,最灵活常用

id选择器

能选出一个标签

同一个id在一个HTML中只能出现一次

通配符选择器

选择所有的标签

特殊情况下使用

复合选择器

后代选择器

后代选择器又叫包含选择器,选择某个父元素中的某个子元素。(通过多个选择器的组合,能够选中某个选择器的子/孙子选择器。

选择器1 选择器2 {样式声明}

  • 选择器1和选择器2之间要用空格分割。

  • 选择器1是父级,选择器2是子级。只选选择器2,不会影响到选择器1.

可以是任意基础选择器的组合。

子选择器

和后代选择器相似,但只能选择子标签

选择器1>选择器2 {样式声明}

  • 使用大于号分割

  • 只能选亲儿子,不能选孙子元素

并集选择器

用于选择多组标签(集体声明)

元素1,元素2{样式声明}

  • 通过逗号分割多个元素

  • 表示同时选中元素1和元素2

  • 任何基础选择器都可以使用并集选择器

  • 并集选择器建议竖着写,每个选择器占一行。(最后一个选择器不能加逗号)

伪类选择器

1.链接伪类选择器

a:link

选择未访问过的链接

a:visited

选择已经被访问过的链接

a:hover

选择鼠标指针悬停上的链接

a:active

选择活动链接

2.:force伪类选择器

选取获取焦点的input表单元素。

小结哎

选择器

作用

注意事项

后代选择器

选择后代元素

可以是孙子元素

子选择器

选择子元素

只能选亲儿子,不能选孙子

并集选择器

选择相同样式的元素

更好的做到代码重用

链接伪类选择器

选择不同状态的链接

:focuse 伪类选择器

选择被选中的元素

常用元素属性

字体属性

设置字体

字体大小

注意单位。

标题标签需要单独指定大小。

字体粗细

文字样式

文本属性

文本颜色

  • 预定义的颜色值:直接写单词

  • 十六进制形式

  • RGB方式

RGB方式:使用R,G,B来表示色光三原色。计算机中针对R,G,B三个分量,分别使用一个字节表示。数值越大,表示该分量颜色越浓。

文本对齐

控制文字水平方向的对齐(也能控制图片等元素居中或靠右

text-align: [值];

  • center:居中对齐

  • left:左对齐

  • right:右对齐

文本装饰

text-decoration:[值]

underline:下划线

none:什么都没有,可以用于给a标签去掉下划线

overline:上划线

line-through:删除线

文本缩进

控制段落的首行缩进。(不会影响到其他行)

text-indent:[值];

  • 单位可以使用px或者em。

  • 使用em作为单位更好,1个em就是当前元素的文字大小。

  • 缩进可以是负的,表示向左缩进。

行高

行高指的是上下文本之间的基线距离。

line-height:[值]

行高=上边距+下边距+字体大小

当行高等于元素高度时,就可以实现文字居中对齐

背景属性

背景颜色

background-color: [值];

默认是transparent,透明的,可以通过设置颜色的方式修改。

背景图片

background-image: url(......);

背景平铺

background-repeat:[平铺方式] ;

  • repeat:平铺

  • no-repeat:不平铺

  • repeat-x:水平平铺

  • repeat-y:垂直平铺

背景颜色和背景图片可以同时存在,背景图片在背景颜色的上方。

背景位置

background-position: x,y;

这里的参数有三种不同风格:

1.方向名词(top,left,right)

2.精确单位:坐标或百分比

3.混合单位:同时包含方位名词和精确单位

关于参数:

  • 如果参数的两个值都是方位名词,则前后顺序无关.

  • 如果只指定了一个方位名词,则第二个默认居中.

  • 如果参数是精确值,则的的第一个肯定是x,第二个肯定是y.

  • 如果参数是精确值,且只给了一个数值,则该数值一定是x坐标,另一个默认垂直居中.

  • 如果参数是混合单位,则第一个值一定为x,第二个值为y坐标.

左手坐标系

计算机中的平面坐标系,一般是左手坐标系

背景尺寸

background-size: length | percentage | cover | contain ;

  • 可以填具体的数值: 如 40px 60px 表示宽度为 40px, 高度为 60px

  • 也可以填百分比: 按照父元素的尺寸设置.

  • cover: 把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。

  • contain: 把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域、可能会露出一部方背景色。

圆角矩形

border-radius:length;

length是内切圆的半径,数值越大,弧线越强烈。

圆形

如果想得到一个圆,首先要有一个正方形,假设正方形的宽度为20px,此时设置border-radius的值为100px即可(宽度的一半)

圆角矩形

border-radius的值为矩形高度的一半即可

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

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

相关文章

[element plus] 对话框组件再封装使用 - vue

学习关键语句: 饿了么组件dialog组件使用 dialog组件二次封装 vue3中封住的组件使用update触发更新 vue3中封装组件使用v-model:属性值来传值 写在前面 这是我遇到的一个页面需求 , 其中一个对话框的内容是很常用的 , 所以我将它封装出来才写的一篇文章 现在给出如下需求: 封…

Git(分布式版本控制系统)

提到git了&#xff0c;我们先来说一下什么是git? 1、通俗一点&#xff0c;就是一个人工版本控制器 通过人工的复制行为来保存项目的不同阶段的内容&#xff0c;添加适当的一些描述文字加以区分 繁琐、容易出错 产生大量重复数据 2、什么是版本控制&#xff1f; 版本控制是指对…

JVM16命令行

2. JVM 监控及诊断工具-命令行篇 2.1. 概述 简单命令行工具 在我们刚接触 java 学习的时候&#xff0c;大家肯定最先了解的两个命令就是 javac&#xff0c;java&#xff0c;那么除此之外&#xff0c;还有没有其他的命令可以供我们使用呢&#xff1f; 我们进入到安装 jdk 的…

JAVA并发编程面试题合集

1.在Java中守护线程和本地线程的区别&#xff1f; Java中的线程分为两种&#xff1a;守护线程&#xff08;Daemon&#xff09;和用户线程&#xff08;User&#xff09;任何线程都可以设置为守护线程和用户线程&#xff0c;通过方法Thread.setDaemon(boolean)&#xff1b;true表…

框架开发有哪些优势?Java主流框架

什么是框架“框架&#xff08;Framework&#xff09;"一词最早出现在建筑领域&#xff0c;指的是在建造房屋前期构建的建筑骨架。在编程领域&#xff0c;框架就是应用程序的骨架&#xff0c;开发人员可以在这个骨架上加入自己的东西&#xff0c;搭建出符合自己需求的应用系…

mac电脑数据恢复?真正实用的方法(2023最新)

使用电脑的用户都知道&#xff0c;被删除的文件一般都会经过回收站&#xff0c;想要恢复它直接点击“还原”就可以恢复到原始位置。mac电脑同理也是这样&#xff0c;但是“回收站”在mac电脑显示为“废纸篓”。 如果电脑回收站&#xff0c;或者是废纸篓里面的数据被清空了&…

Nginx第一讲

目录 一、Nginx01 1.1 Nginx简介 1.1.1 Nginx介绍 1.1.2 Nginx的应用 1.1.3 关于代理 1.1.4 负载均衡 1.1.5 动静分离 1.2 安装Nginx 1.2.1 安装依赖环境 1.2.2 安装nginx 1.2.3 nginx配置文件(nginx.conf) 1.2.4 反向代理实例1 1.2.5 安装tomcat 1.2.6 反向代理…

插画教育培训机构最新排名

学原画插画在哪里学比较好&#xff0c;最新插画培训班排名&#xff0c;给大家梳理了国内最新5家专业的插画师培训班排名&#xff0c;各有优势和特色&#xff0c;给大家借鉴&#xff01; 一&#xff1a;国内插画培训机构排名 1、轻微课&#xff08;五颗星&#xff09; 主打课程有…

flutter 微信通讯录

Flutter 仿制微信通讯录效果&#xff0c;致效果如下&#xff1a; 有几个技术细节&#xff1a; 总体可滑动&#xff0c;少于屏幕长度也可滑动对于数据的处理。昵称 拼音首字母排序&#xff0c;右侧字母导航&#xff0c;点击/滑动&#xff1b;移动到指定位置当点击/滑动 右侧移动…

大数据实操项目分享:餐饮智能推荐服务在线实习项目

项目背景&#xff1a;在“互联网"背景下&#xff0c;餐饮企业的经营方式发生了很大的变革&#xff1a;团购和020拓宽了销售 渠道&#xff0c;电子点餐、店内WIFI等信息技术提升了服务水平&#xff0c;大数据、私人定制更好地满足了细分市场的需求等。但是与此同时&#xf…

天!转转MySQL机房迁移半小时结束战斗?

文章目录1 背景2 迁移方案选择2.1 方案一&#xff1a;扩容主从切换2.2 方案二&#xff1a;级联切换2.3 方案对比3 如何又快又稳完成MySQL机房迁移3.1 提前搭建级联3.2 停服3.3 批量操作自动化&#xff0c;关键步骤解耦3.4 集群分级3.5 切换前、后置检查3.6 灰度切换验证4 写在最…

rk3288-android8.1-以太网ethernet和蓝牙Bluetooth

遇到一个现象,以太网和蓝牙打不开 经过不断分析和查找发现问题在.config中 CONFIG_MOTORCOMM_PHYy 会导致以太网的eth0注册不成功(现在是双网口,还有个USB网卡) 改成# CONFIG_MOTORCOMM_PHY is not set 后以太网可以正常 # CONFIG_RTC_DRV_RK808 is not set 会导致蓝牙打不…

【分类评价指标】如何评估多(二)分类算法的性能:Acc、Precision、Recall、F1等

【分类评价指标】如何评估多&#xff08;二&#xff09;分类算法的性能&#xff1a;Acc、Precision、Recall、F1等 文章目录【分类评价指标】如何评估多&#xff08;二&#xff09;分类算法的性能&#xff1a;Acc、Precision、Recall、F1等1. 前言2. 二分类任务2.1 混淆矩阵2.2…

工控攻击,黑客组织GhostSec 称入侵以色列55 家Berghof PLC

“巴以冲突”在网络上依然硝烟弥漫。当地时间9月12日消息&#xff0c; 一个名为GhostSec的黑客组织声称入侵了以色列55台Berghof可编程逻辑控制器&#xff08;PLC&#xff09;。该网络攻击行为被视为“解放巴勒斯坦”运动的组成部分。 以色列工业网络安全公司OTORIO对此次事件…

JVM内存结构和GC调优

一 、JVM简介 1.1 JVM是什么&#xff1f; Java Virtual Machine(Java虚拟机) Write Once Run Anywhere 1.2 JDK JRE JVM Java官网 &#xff1a;https://docs.oracle.com/javase/8/ Reference -> Developer Guides -> 定位到: https://docs.oracle.com/javase/8/docs…

MySQL数据库——JDBC编程

文章目录一、什么是Java的JDBC二、JDBC编程三、代码整体展示一、什么是Java的JDBC JDBC&#xff0c;即Java Database Connectivity。意思是java数据库连接。是一种用来执行 SQL 语句的 JavaAPI&#xff0c;是Java中数据库的连接规范。这个 API 由 java.sql* 和 javax.sql* 包中…

Windows 环境下,使用 ESP32-S3 USB 接口进行 JTAG 调试的流程

前提 在 windows 上安装 esp-idf CMD 软件编译环境&#xff0c;可参考“Windows 上搭建 ESP-IDF SDK 编译环境 Visual Studio Code 软件编程环境”说明。硬件上使用 ESP32-S3 USB 接口与 PC 端建立连接&#xff0c;为方便测试&#xff0c;可使用官方发布的 ESP32-S3-DevKitC-…

“办”了三年数字化活动,这家公司成为行业独角兽

疫情三年&#xff0c;竟然有公司靠办活动成为行业独角兽&#xff1f;你没听错&#xff01;持续的疫情&#xff0c;让各行各业的数字化进程大大提速&#xff0c;活动这个历史悠久的领域也不例外。在疫情期间&#xff0c;数字化深刻影响着各行业招聘、展览、发布会等多种活动&…

2023年新能源汽车行业研究报告

第一章 行业概况 新能源汽车&#xff0c;是指采用新型动力系统&#xff0c;完全或者主要依靠新型能源驱动的汽车&#xff0c;包括纯电动汽车、插电式混合动力汽车、增程式混合动力汽车和燃料电池汽车等。国际上&#xff0c;混合动力汽车&#xff08;含中混、强混、插电式混动&…

浅谈常用的日志框架

文章目录1.为什么需要日志框架2.常见日志框架2.1.日志框架介绍2.2.市面上的日志框架3.Slf4j使用3.1.如何在系统中使用SLF4j3.2.可能存在的问题4.SpringBoot日志的默认配置5.SpringBoot指定日志文件6.切换日志框架1.为什么需要日志框架 通过日志的方式记录系统运行的过程或错误以…