【前端】CSS基础

news2024/11/27 21:43:06

一、CSS基础

1.1CSS的介绍

CSS:层叠样式表(Cascading style sheets)

CSS作用是什么??

1.2CSS语法规则

写在哪里?

  • CSS是style标签中,style标签一般写在head标签里面,title标签下面

怎么写?

在这里插入图片描述

<style>
    /*css注释*/
    /*这里写的都是css*/
    /*选择器{css属性}*/
    /*选择器:查找标签*/
    p{
        /*文字颜色变红*/
        color:red;
        /*字变大 px:像素*/
        font-size:30px;
        /*背景颜色*/
        background-color:green;
        /*width height*/
        width:400px;
        height:400px;
    }
</style>

2.1CSS引入方式

内嵌式:CSS写在style标签中

  • 提示:style标签虽然可以写在页面任意位置,但是通常约定写在head标签中

外联式:CSS写在一个单独的.css文件中

  • 提示:需要通过link标签在网页中引入
<link rel="stylesheet" href="./my.css">

行内式:CSS写在标签的style属性中

  • 提示:不推荐使用,之后会配合js使用
<div style="color:green;font-size:30px">这是div标签</div>

2.2CSS引入方式-小结

CSS常见三种引入方式有哪些?

  • 内嵌式
  • 外联式
  • 行内式

CSS常用三种引入方式的特点区别有哪些(书写位置、作用范围、使用场景)

引入方式·书写位置作用范围使用场景
内嵌式CSS写在style标签中当前页面小案例
外联式CSS写在单独的css文件中,通过link标签引入多个页面项目中
行内式CSS写在标签的style属性中当前标签配合js使用

二、基础选择器

1.2标签选择器

结构:标签名{css属性名:属性值;}

作用:通过标签名,找到页面中所有这类标签,设置样式

注意点:

  1. 标签选择器选择的是一类标签,而不是单独某一个
  2. 标签选择器无论嵌套关系有多深,都能找到对应的标签
<style>
    /*选择器{}*/
    /*标签选择器 就是 以标签名命名的选择器*/
    p{
        color:red;
    }
    /*标签选择器 选中所有的这个标签都生效css*/
</style>

1.3类选择器

结构:.类名{css属性名:属性值;}

作用:通过类名,找到页面中所有带有这个类名的标签,设置样式

注意点:

  1. 所有标签上都有class属性,class属性的属性值称为类名(类似于名字)
  2. 类名可以由数字、字母、下划线、中划线组成,但不能以数字或者中划线开头
  3. 一个标签可以同时有多个类名,类名之间以空格隔开
  4. 类名可以重复,一个类选择器可以同时选中多个标签
<style>
    .red{
        color:red;
    }
    .size{
        font-size:66px;
    }
</style>
<body>
    <p class="red size">222</p>
    <div class="red">这个标签文字要变红</div>
</body>

1.4id选择器

结构:#id属性值{css属性名:属性值;}

作用:通过id属性值,找到页面中带有这个id属性值的标签,设置样式

注意点:

  1. 所有标签上都有id属性
  2. id属性值类似于身份证号码,在一个页面中是唯一的,不可重复的
  3. 一个标签上只能有一个id属性值
  4. 一个id选择器只能选中一个标签

1.5通配符选择器

结构:*{css属性名:属性值;}

作用:找到页面中所有的标签,设置样式

注意点:

  1. 开发中使用极少,只会在极特殊情况下才会用到
  2. 在小页面中可能会用于去除标签默认的margin和padding(后续讲解)

三、字体和文本样式

1.1字体大小

属性名:font-size

取值:数字+px

注意点:

  • 谷歌浏览器默认文字大小是16px
  • 单位需要设置否则无效

1.2字体粗细

属性名:font-weight

取值:

  • 关键字:
正常normal
加粗bold
  • 纯数字:100~900的整百数:
正常400
加粗700

注意点:

  • 不是所有字体都提供了九种粗细,因此部分取值页面中无变化
  • 实际开发中以:正常,加粗两种取值使用最多。

1.3字体样式(是否倾斜)

属性名:font-style

取值:

  • 正常(默认值):normal
  • 倾斜:italic

1.4字体系列 font-family

属性名:font-family

常见取值:具体字体1,具体字体2,具体字体3,…字体系列

  • 具体字体:“Microsoft YaHei”、微软雅黑、黑体、宋体、斜体等…
  • 字体系列:sans-serif、serif、monospace等…

渲染规则:

  1. 从左往右按照顺序查找,如果电脑中未安装该字体,则显示下一个字体
  2. 如果都不支持,此时会根据操作系统,显示最后字体系列的默认字体

注意点:

  1. 如果字体名称中存在多个单词,推荐使用引号包裹
  2. 最后一项字体系列不需要引号包裹
  3. 网页开发时,尽量使用系统常见自带字体,保证不同用户浏览网页都可以正确显示

1.5常见字体系列(了解)

无衬线字体(sans-serif)

  1. 特点:文字笔画粗细均匀,并且首尾无装饰
  2. 场景:网页中大多采用无衬线字体
  3. 常见该系列字体:黑体、Arial

衬线字体(serif)

  1. 特点:文字笔画粗细不均,并且首尾有笔锋装饰
  2. 场景:报刊书籍中应用广泛
  3. 常见该系列字体:宋体、Times New Roman

等宽字体(monospace)

  1. 特点:每个字母或文字的宽度相等
  2. 场景:一般用于程序代码编写,有利于代码的阅读和编写
  3. 常见该系列字体:Consolas、fira code

1.6样式的层叠问题

问题:

  • 给同一个标签设置了相同的样式,此时浏览器会如何渲染呢?

结果:

  • 如果给同一个标签设置了相同的属性,此时样式会层叠(覆盖),写在最下面的会生效

TIP:

  • CSS(Cascading style sheets)层叠样式表
  • 所谓的层叠即加的意思,表示样式可以一层一层的层叠覆盖

1.7字体font相关属性的连写

属性名:font(复合属性)

取值:

  • font:style weight size family

省略要求:

  • 只能省略前两个,如果省略了相当于设置了默认值

注意点:如果需要同时设置单独和连写的形式

  • 要么把单独的样式写在连写的下面
  • 要么把单独的样式写在连写的里面
p{
	/*
		font-size:;
		font-style:;
		font-weight:;
		font-family:;
	*/
	font:italic 700 66px 宋体;
	/*一个属性冒号后面书写多个值的写法--复合属性*/
}

1.8文本缩进

属性名:text-indent

取值:

  • 数字+px

  • 数字+em(推荐:1em=当前标签的font-size的大小)

  • em:一个字的大小

1.9文本水平对齐方式

属性名:text-align

取值:

属性值效果
left左对齐
center居中对齐
right右对齐
text-align:left;
text-align:right;
text-align:center;

1.10水平居中方法总结text-align:center

text-align:center能让哪些元素水平居中?

  1. 文本
  2. span标签、a标签
  3. input标签、img标签

注意点:

  1. 如果需要让以上元素水平居中,text-align:center需要给以上元素的父元素设置

2.1文本修饰

属性名:text-decoration

取值:

属性值效果
underline下划线(常用)
line-through删除线(不常用)
overline上划线(几乎不用)
none无装饰线(常用)

注意点:

开发中会使用text-decoration:none;清除a标签默认的下划线

3.1行高

作用:控制一行的上下行间距

属性名:line-height

取值:

  • 数字+px
  • 倍数(当前标签font-size的倍数)

应用:

  1. 让单行文本垂直居中可以设置line-height:文字父元素高度
  2. 网页精准布局时,会设置line-height:1可以取消上下间距

行高与font连写的注意点:

  • 如果同时设置了行高和font连写,注意覆盖问题
  • font:style weight size/line-height family;
p{
    line-height:1.5;
    font:italic 700 66px/2 宋体;
}

4.1拓展 颜色常见取值(了解)

属性名:

  • 如:字体颜色:color
  • 如:背景颜色:background-color

属性值:

颜色表示方式表示含义属性值
关键词预定义的颜色名red、green、blue、yellow…
rgb表示法1红蓝绿三原色,每项取值范围0-255rgb(0,0,0)、rgb(255,255,255)、rgb(255,0,0)…
rgba表示法红绿蓝三原色+a表示透明度,取值范围是0-1rgba(255,255,255,0,5)、rgba(255,0,0,0,3)…
十六进制表示法#开头,将数字转换成十六进制表示#000000、#ff0000、#e92322,简写:#000、#f00

标签水平居中方法总结margin:0 auto

如果需要让div、p、h(大盒子)水平居中?

  • 可以通过margin:0 auto;实现

注意点:

  1. 如果需要让div、p、h(大盒子)水平居中,直接给当前元素本身设置即可
  2. margin:0 auto一般针对于固定宽度的盒子,如果大盒子没有设置宽度,此时会默认占满父元素的宽度

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

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

相关文章

真的强,又一个开源项目,杀疯了

最近&#xff0c;AI大模型连续火爆出圈&#xff0c;人工智能生成模型&#xff08;AIGC&#xff09;的热度尚未褪去&#xff0c;聊天机器人ChatGPT便引发全网热议&#xff0c;两周吸引百万用户。还有卷趴一半程序员的AlphaCode&#xff0c;生成全新蛋白质的ESM2等&#xff0c;不…

TypeScript,终于在实际项目中用到了泛型。

终于在实际项目中用到了泛型 里程碑式的纪录&#xff0c;终于不是anyScript了&#xff0c;代码写完只有一个any 应用 项目中组件化了这么一个东西 功能描述&#xff1a; 传进去一个数组&#xff0c;有个名&#xff0c;有个key&#xff0c;渲染成上图的div样式点击之后&#…

Triple 协议支持 Java 异常回传的设计与实现

作者&#xff1a;陈景明 背景 在一些业务场景&#xff0c;往往需要自定义异常来满足特定的业务&#xff0c;主流用法是在catch里抛出异常&#xff0c;例如&#xff1a; public void deal() {try{//doSomething ...} catch(IGreeterException e) {...throw e;} }或者通过…

Python面向对象(九)

python学习之旅(九) &#x1f44d;查看更多可以关注查看首页或点击下方专栏目录 一.什么是面向对象 万物皆对象 现实世界的事物都有属性和行为,可在程序中抽离为类来描述现实世界的事物属性和行为。 使用类充当程序内现实事物的“设计图纸”&#xff0c;基于图纸(类)生产实体…

10. 正则表达式匹配

题目链接&#xff1a;https://leetcode.cn/problems/regular-expression-matching/从暴力递归到动态规划&#xff0c;对于状态转移方程不容易推导出来的可以先从递归进行尝试各种策略&#xff0c;最后再从暴力递归转为动态规划&#xff0c;这种尝试方式容易求解dp初始值以及dp更…

数据结构-考研难点代码突破 (图关键路径完全解析(流程+代码) - C++代码)

考研在关键路径上的考察以流程为主 文章目录1. AOE网2. 关键路径问题解决流程C代码1. AOE网 首先区分AOV网&#xff1a; AOV网∶若用DAG 图&#xff08;有向无环图&#xff09;表示一个工程&#xff0c;其顶点表示活动&#xff0c;用有向边<Vi&#xff0c;Vj>表示活动 V…

【ESP32+freeRTOS学习笔记-(五)队列Queue】

目录1、什么是队列Queue2、队列的多任务特性2.1 多任务的访问&#xff1a;2.2 队列读取阻塞&#xff1a;2.3 写队列阻塞&#xff1a;2.4 阻塞于多个队列&#xff1a;3、队列的使用3.1 创建队列--The xQueueCreate() API3.2 写入队列3.3 从队列中接收数据3.4 删除队列4、队列集4…

ReactDOM.render在react源码中执行之后发生了什么?

ReactDOM.render 通常是如下图使用&#xff0c;在提供的 container 里渲染一个 React 元素&#xff0c;并返回对该组件的引用&#xff08;或者针对无状态组件返回 null&#xff09;。本文主要是将ReactDOM.render的执行流程在后续文章中会对创建更新的细节进行分析&#xff0c…

MATLAB-plot3/ezplot3三维绘图

&#xff08;1&#xff09; plot3是三维绘图的基本函数&#xff0c;调用格式如下。1、plot3( X,Y,Z):绘制简单的三维曲线&#xff0c;当X、Y、Z是长度相同的向量时&#xff0c;plot3命令将绘制以向量X、Y、Z为(x, y,z)坐标值的三维曲线;当X、Y、Z是mn矩阵时,plot3命令将绘制m条…

Android 虚拟分区详解(四) 编译开关

Android Virtual A/B 系统简称 VAB,我将其称为虚拟分区。 本系列文章基于 Android R(11) 进行分析,如果没有特别说明,均基于代码版本 android-11.0.0_r46 请已经购买《Android 虚拟分区》专栏的朋友加我 wx 进 "虚拟分区专栏 VIP 答疑"群,作为本专栏文章的附加服…

(6)元对象系统与信号与槽机制

1. 元对象系统 元对象系统是一个基于标准C的扩展&#xff0c;为Qt提供了信号与槽机制、实时类型信息、动态属性系统。 什么是元对象 在计算机科学中&#xff0c;元对象是这样一个东西&#xff1a;它可以操纵、创建、描述、或执行其他对象。元对象描述的对象称为基对象。元对象可…

记一次搭建备库,使用连接串主库无法连接到备库

主库使用连接串连接备库失败 SQL> conn sys/oracleorcldg as sysdba ERROR: ORA-12528: TNS:listener: all appropriate instances are blocking new connections 备库已经建立了静态监听 # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/…

安全寒假第一堂课

一、状态码 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务器超时 1xx&#xff08;临时响应&#xff09; 表示临时响应并需要请求者继续执行操作的状态码。 100&#xff08;继续&#xff09; 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一…

OpenCV实战(5)——图像运算详解

OpenCV实战&#xff08;5&#xff09;——图像运算详解0. 前言1. 图像基本运算2. 重载图像运算符2.1 加法运算符重载2.2 分割图像通道2.3 完整代码3. 图像重映射3.1 OpenCV 重映射函数3.2 完整代码小结系列链接0. 前言 图像可以以不同的方式进行组合&#xff0c;因为它们是正则…

XGBoost论文阅读

XGBoost: A Scalable Tree Boosting System 目录 XGBoost: A Scalable Tree Boosting System 1.摘要 2.方法 2.1 正则化学习目标 2.2 梯度提升树 2.3 收缩率和列采样 2.4分裂点查找算法 1.摘要 提出了一种新的稀疏性感知算法&#xff0c;用于稀疏数据和加权全图草图&a…

Python教程:什么是三级模式和二级映像?

美国国家标准学会(American National Standards Institute,ANSI)所属的标准计划与需求委员会&#xff08;Standards Planning and Requirements Committee,SPARC)在1971年公布的研究报告中提出了ANSI-SPARC体系结构&#xff0c;即三级模式结构&#xff08;或称为三层体系结构&a…

ArcGIS基础实验操作100例--实验53导出线、面要素的坐标值

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 高级编辑篇--实验53 导出线、面要素的坐标值 目录 一、实验背景 二、实验数据 三、实验步骤 &#xf…

笔记杂项(一)

都是踩过的坑&#xff0c;趟过的水。 ubuntu虚拟机终端字体太小的设置方法&#xff1a;ubuntu18.04调整终端字体大小 这个方法试试看&#xff1a;https://zhuanlan.zhihu.com/p/139305626 容器里面编译内核代码&#xff0c;进程被杀掉的原因是触发了内核OOM killer&#xff0c…

干货| app自动化测试之Andriod微信小程序的自动化测试

随着微信小程序的功能和生态日益完善&#xff0c;很多公司的小程序项目页面结构越来越多&#xff0c;业务逻辑也越来越复杂。如何做好小程序的自动化测试就成为测试同学普遍面临的一大痛点难题。微信小程序小程序内嵌于微信内部&#xff0c;页面包含 Native 原生元素和 Web 元素…

华为防火墙与二层交换机对接配置VLAN上网设置

拓扑图 一、防火墙设置 1、G1/0/0接口设置IP&#xff0c;G1/0/1接口切换二层口设置VLAN&#xff0c;G1/0/0 桥接了本地无线网卡来模拟公网地址 <USG6000V1>sys [USG6000V1]sys FW1 [FW1]un in en# 设置公网IP [FW1]int g1/0/0 [FW1-GigabitEthernet1/0/0]ip addr 192.1…