CSS基础入门02

news2024/12/23 5:11:31

目录

1.复合选择器

1.1后代选择器

1.2子选择器

1.3并集选择器

1.4伪类选择器

2.字体属性

2.1设置字体

2.2大小

2.3粗细

2.4文字样式

3.文本属性

3.1文本颜色

3.2设置文本颜色

3.3文本对齐

3.4文本装饰

3.5文本缩进

3.6行高

4.背景属性

4.1背景颜色

4.2背景图片

4.3背景平铺

4.4背景位置

4.5背景尺寸


1.复合选择器

1.1后代选择器

又叫包含选择器. 选择某个父元素中的某个子元素.

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

元素 1 和 元素 2 要使用空格分割
元素 1 是父级, 元素 2 是子级, 只选元素 2 , 不影响元素 1

代码示例: 把 ol 中的 li 修改颜色, 不影响 ul

<ul>
  <li>aaa</li>
  <li>bbb</li>
  <li>ccc</li>
</ul>
<ol>
  <li>ddd</li>
  <li>eee</li>
  <li>fff</li>
</ol>
ol li {
  color: red;
}

代码示例: 元素 2 不一定非是 儿子, 也可以是孙子.

<ul>
  <li>aaa</li>
  <li>bbb</li>
  <li><a href="#">ccc</a></li>
</ul>
ul li a {
  color: yellow;
}
或者
ul a {
  color: yellow;
}

代码示例: 可以是任意基础选择器的组合. (包括类选择器, id 选择器)

<ol class="one">
  <li>ddd</li>
  <li>eee</li>
  <li><a href="#">fff</a></li>
  <li><a href="#">fff</a></li>
  <li><a href="#">fff</a></li>
</ol>
.one li a {
  color: green;
}

1.2子选择器

和后代选择器类似, 但是只能选择子标签.

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

使用大于号分割
只选亲儿子, 不选孙子元素

<div class="two">
  <a href="#">链接1</a>
  <p><a href="#">链接2</a></p>
</div

后代选择器的写法, 会把链接1 和 2 都选中.

.two a {
  color: red;
}

子选择器的写法, 只选链接 1

.two>a {
  color: red;
}

1.3并集选择器

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

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


通过 逗号 分割等多个元素.
表示同时选中元素 1 和 元素 2
任何基础选择器都可以使用并集选择器.
并集选择器建议竖着写. 每个选择器占一行. (最后一个选择器不能加逗号)

代码示例:

<div>苹果</div>
<h3>香蕉</h3>
<ul>
  <li>鸭梨</li>
  <li>橙子</li>
</ul>

1. 把苹果和香蕉颜色改成红色

div, h3 {
  color: red;
}

2. 把鸭梨和橙子也都一起改成红色

div,
h3,
ul>li {
  color: red;
}

1.4伪类选择器

1) 链接伪类选择器

a:link 选择未被访问过的链接
a:visited 选择已经被访问过的链接
a:hover 选择鼠标指针悬停上的链接
a:active 选择活动链接(鼠标按下了但是未弹起)

示例:

<a href="#">小猫</a>
a:link {
  color: black;
  /* 去掉 a 标签的下划线 */
  text-decoration: none;
}
a:visited {
  color: green;
}
a:hover {
  color: red;
}
a:active {
  color: blue;
}

2) :force 伪类选择器
选取获取焦点的 input 表单元素.

<div class="three">
        <input type="text">
        <input type="text">
        <input type="text">
        <input type="text">
</div>
 .three>input:focus {
      color: red;
 }

此时被选中的表单的字体就会变成红色.

复合选择器小结

2.字体属性

2.1设置字体

<div class="three">
  <input type="text">
  <input type="text">
  <input type="text">
  <input type="text">
</div>
.three>input:focus {
  color: red;
}
body {
  font-family: '微软雅黑';
  font-family: 'Microsoft YaHei';
}

字体名称可以用中文, 但是不建议.

多个字体之间使用逗号分隔. (从左到右查找字体, 如果都找不到, 会使用默认字体. )
如果字体名有空格, 使用引号包裹.
建议使用常见字体, 否则兼容性不好.

<style>
  .font-family .one {
    font-family: 'Microsoft YaHei';
 }
  .font-family .two {
    font-family: '宋体';
 }
</style>
<div class="font-family">
  <div class="one">
    这是微软雅黑
  </div>
  <div class="two">
    这是宋体
  </div>
</div>

2.2大小

p {
  font-size: 20px;
}

不同的浏览器默认字号不一样, 最好给一个明确值. (chrome 默认是 16px)
可以给 body 标签使用 font-size
要注意单位 px 不要忘记.
标题标签需要单独指定大小
注意: 实际上它设置的是字体中字符框的高度;实际的字符字形可能比这些框高或矮

<style>
  .font-size .one {
    font-size: 40px;
 }
  .font-size .two {
    font-size: 20px;
 }
</style>
<div class="font-size">
  <div class="one">
    大大大
  </div>
  <div class="two">
    小小小
  </div>
</div>

2.3粗细

p {
    font-weight: bold;
    font-weight: 700;
}

可以使用数字表示粗细.
700 == bold, 400 是不变粗, == normal
取值范围是 100 -> 900

<style>
  .font-weight .one {
    font-weight: 900;
 }
  .font-weight .two {
    font-weight: 100;
 }
</style>
<div class="font-weight">
  <div class="one">
    粗粗粗
  </div>
  <div class="two">
    细细细
  </div>
</div>

2.4文字样式

/* 设置倾斜 */
font-style: italic;
/* 取消倾斜 */
font-style: normal;

很少把某个文字变倾斜.
但是经常要把 em / i 改成不倾斜.

<style>
  .font-style em {
    font-style: normal;
 }
  .font-style div {
    font-style: italic;
 }
</style>
<div class="font-style">
  <em>
    放假啦
  </em>
  <div class="one">
    听说要加班
  </div>
</div>

3.文本属性

3.1文本颜色

认识 RGB
我们的显示器是由很多很多的 "像素" 构成的. 每个像素视为一个点, 这个点就能反映出一个具体的颜色.
我们使用 R (red), G (green), B (blue) 的方式表示颜色(色光三原色). 三种颜色按照不同的比例搭配, 就能混合出各种五彩斑斓的效果.
计算机中针对 R, G, B 三个分量, 分别使用一个字节表示(8个比特位, 表示的范围是 0-255, 十六进制表示为 00-FF).
数值越大, 表示该分量的颜色就越浓. 255, 255, 255 就表示白色; 0, 0, 0 就表示黑色.

3.2设置文本颜色

color: red;
color: #ff0000;
color: rgb(255, 0, 0);

鼠标悬停在 vscode 的颜色上, 会出现颜色选择器, 可以手动调整颜色.

color 属性值的写法:
预定义的颜色值(直接是单词)
[最常用] 十六进制形式
RGB 方式
十六进制形式表示颜色, 如果两两相同, 就可以用一个来表示.
#ff00ff => #f0f

<style>
  .color {
    color: red;
    /* color: rgb(255, 0, 0); */
    /* color: #ff0000; */
 }
</style>
<div class="color">这是一段话</div>

3.3文本对齐

控制文字水平方向的对齐.
不光能控制文本对齐, 也能控制图片等元素居中或者靠右

text-align: [值];

center: 居中对齐
left: 左对齐
right: 右对齐

<style>
  .text-align .one {
    text-align: left;
 }
  .text-align .two {
    text-align: right;
 }
  .text-align .three {
    text-align: center;
 }
</style>
<div class="text-align">
  <div class="one">左对齐</div>
  <div class="two">右对齐</div>
  <div class="three">居中对齐</div>
</div>

3.4文本装饰

text-decoration: [值];

常用取值:
underline 下划线. [常用]
none 啥都没有. 可以给 a 标签去掉下划线.
overline 上划线. [不常用]
line-through 删除线 [不常用]

 

<style>
  .text-decorate .one {
    text-decoration: none;
 }
  .text-decorate .two {
    text-decoration: underline;
 }
  .text-decorate .three {
    text-decoration: overline;
 }
  .text-decorate .four {
    text-decoration: line-through;
 }
</style>
<div class="text-decorate">
  <div class="one">啥都没有</div>
  <div class="two">下划线</div>
  <div class="three">上划线</div>
  <div class="four">删除线</div>
</div>

3.5文本缩进

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

text-indent: [值];

单位可以使用 px 或者 em.
使用 em 作为单位更好. 1 个 em 就是当前元素的文字大小.
缩进可以是负的, 表示往左缩进. (会导致文字就冒出去了)

3.6行高

行高指的是上下文本行之间的基线距离.
HTML 中展示文字涉及到这几个基准线:
顶线
中线
基线 (相当于英语四线格的倒数第二条线)
底线
内容区:底线和顶线包裹的区域,即下图深灰色背景区域

其实基线之间的距离 = 顶线间距离 = 底线间距离 = 中线间距离

line-height: [值];

注意1: 行高 = 上边距 + 下边距 + 字体大小
上下边距是相等的, 此处字体大小是 16px, 行高 40px, 上下边距就分别是 12px

<style>
  .line-height .one {
    line-height: 40px;
    font-size: 16px;
 }
</style>
<div class="line-height">
  <div>
    上一行
  </div>
  <div class="one">
    中间行
  </div>
  <div>
    下一行
  </div>
</div>

注意2: 行高也可以取 normal 等值.
这个取决于浏览器的实现. chrome 上 normal 为 21 px

注意3: 行高等与元素高度, 就可以实现文字居中对齐.

<style>
  .line-height .two {
    height: 100px;
    line-height: 100px;
 }
</style>
<div class="line-height">
  <div class="two">
    文本垂直居中
  </div>
</div>

4.背景属性

4.1背景颜色

background-color: [指定颜色]

默认是 transparent (透明) 的. 可以通过设置颜色的方式修改.

<style>
  body {
    background-color: #f3f3f3;
 }
  .bgc .one {
    background-color: red;
 }
  .bgc .two {
    background-color: #0f0;
 }
  .bgc .three {
    /* 背景透明 */
    background-color: transparent;
 }
</style>
<div class="bgc">
  <div class="one">红色背景</div>
  <div class="two">绿色背景</div>
  <div class="three">透明背景</div>
</div>

4.2背景图片

background-image: url(...);

比 image 更方便控制位置(图片在盒子中的位置)
注意:
1. url 不要遗漏.
2. url 可以是绝对路径, 也可以是相对路径
3. url 上可以加引号, 也可以不加.

<style>
  .bgi .one {
    background-image: url(rose.jpg);
    height: 300px;
 }
</style>
<div class="bgi">
  <div class="one">背景图片</div>
</div>

4.3背景平铺

background-repeat: [平铺方式]

重要取值:
        repeat: 平铺
        no-repeat: 不平铺
        repeat-x: 水平平铺
        repeat-y: 垂直平铺
默认是 repeat.
背景颜色和背景图片可以同时存在. 背景图片在背景颜色的上方.

<style>
  .bgr .one {
    background-image: url(rose.jpg);
    height: 300px;
    background-repeat: no-repeat;
 }
  .bgr .two {
    background-image: url(rose.jpg);
    height: 300px;
    background-repeat: repeat-x;
 }
  .bgr .three {
    background-image: url(rose.jpg);
    height: 300px;
    background-repeat: repeat-y;
 }
</style>
<div class="bgr">
  <div class="one">不平铺</div>
  <div class="two">水平平铺</div>
  <div class="three">垂直平铺</div>
</div>

4.4背景位置

background-position: x y;

修改图片的位置.
参数有三种风格:
        1. 方位名词: (top, left, right, bottom)
        2. 精确单位: 坐标或者百分比(以左上角为原点)
        3. 混合单位: 同时包含方位名词和精确单位

<style>
  .bgp .one {
    background-image: url(rose.jpg);
    height: 500px;
    background-repeat: no-repeat;
    background-color: purple;
    background-position: center;
 }
</style>
<div class="bgp">
  <div class="one">背景居中</div>
</div>

注意

如果参数的两个值都是方位名词, 则前后顺序无关. (top left 和 left top 等效)
如果只指定了一个方位名词, 则第二个默认居中. left 则意味着水平居中, top 意味着垂直居中. 如果参数是精确值, 则的的第一个肯定是 x , 第二个肯定是 y. 100 200 意味着 x 为 100, y 为 200
如果参数是精确值, 且只给了一个数值, 则该数值一定是 x 坐标, 另一个默认垂直居中.
如果参数是混合单位, 则第一个值一定为 x, 第二个值为 y 坐标. (100 center 表示横坐标为 100, 垂直居中)

4.5背景尺寸

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

可以填具体的数值: 如 40px 60px 表示宽度为 40px, 高度为 60px
也可以填百分比: 按照父元素的尺寸设置.
cover: 把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无
法显示在背景定位区域中。
把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域.

<style>
  .bgs .one {
    width: 500px;
    height: 300px;
    background-image: url(rose.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
 }
</style>
<div class="bgs">
  <div class="one">背景尺寸</div>
</div>

注意体会 contain 和 cover 的区别. 当元素为矩形(不是正方形) 时, 区别是很明显的.

contain:

cover:

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

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

相关文章

掌握TikTok时代:MCN的自媒体革命

随着数字时代的到来&#xff0c;媒体和内容创作的格局发生了翻天覆地的变化。社交媒体平台如今是塑造品牌形象、建立个人品牌以及传播信息的关键场所。 在这一领域&#xff0c;TikTok的崛起无疑引领了自媒体革命的浪潮。而多频道网络&#xff08;MCN&#xff09;也发挥着越来越…

IntelliJ IDEA 2023.2正式发布,新UI和Profiler转正

你好&#xff0c;我是YourBatman&#xff1a;做爱做之事❣交配交之人。 &#x1f4da;前言 北京时间2023年7月26日&#xff0c;IntelliJ IDEA 2023.2正式发布。老规矩&#xff0c;吃肉之前&#xff0c;可以先把这几碗汤干了&#xff0c;更有助于消化&#xff08;每篇都很顶哦…

ubuntu双系统安装以及启动时卡死解决办法

目录 一.简介 二.安装 如何安装Ubuntu20.04(详细图文教程-CSDN博客 Ubuntu22.04&#xff08;非虚拟机&#xff09;安装教程&#xff08;2023最新最详细&#xff09;-CSDN博客 三.ubuntu双系统启动时卡死解决办法&#xff08;在ubuntu16.04和18.04测试无误&#xff09; 问题…

程序员节“致敬经典”| Springer Nature高影响力图书合集:专业与应用计算、计算机科学、智能技术与机器人学

​ 每年的10月24日是“程序员节”&#xff0c;节日设立的初衷是为感谢程序员为世界变革带来的无尽可能性和创造力。每位程序员像是一个1024&#xff0c;以最低调但核心的功能模块筑起科技世界。 值此之际Springer Nature致敬经典&#xff0c;特别精选专业与应用计算、计算机科学…

CSS 的盒子Day03(2)

在Web 开发中&#xff0c; CSS 盒子模型是指如何在浏览器引擎中对 HTML 元素进行建模和如何从CSS属性导出 HTML 元素的尺寸。 [3]盒模型的指导方针由 Web 标准万维网联盟 (W3C)特别是 CSS 工作组描述。在 20 世纪 90 年代末和 2000 年代初的多数时间里&#xff0c;主流浏览器中…

如何部署和配置IPv6

环境&#xff1a; IPv6 问题描述&#xff1a; 如何部署和配置IPv6 解决方案&#xff1a; 要了解 IPv6&#xff0c;首先需要了解 IPv4&#xff0c;因为 IPv6 是 IPv4 的升级版本。IPv4 是互联网上最常见的 IP 地址协议&#xff0c;它使用 32 位地址&#xff0c;可以表示大约…

[yolo系列:YOLOV7改进-添加CoordConv,SAConv.]

文章目录 概要CoordConvSAConv 概要 CoordConv&#xff08;Coordinate Convolution&#xff09;和SAConv&#xff08;Spatial Attention Convolution&#xff09;是两种用于神经网络中的特殊卷积操作&#xff0c;用于处理图像数据或其他多维数据。以下是它们的简要介绍&#x…

【小余送书活动第四期】《Kali Linux高级渗透测试》,不可多的的网安书籍哦!网络安全的朋友抓紧参与活动领书咯!

目录 1.背景介绍 2.读者对象 3.随书资源 4.本书目录 5.本书概览 6.活动参与方式 1.背景介绍 对于企业网络安全建设工作的质量保障&#xff0c;业界普遍遵循PDCA&#xff08;计划&#xff08;Plan&#xff09;、实施&#xff08;Do&#xff09;、检查&#xff08;Check&…

CUDA学习笔记(十一)Memory Access

转载于https://www.cnblogs.com/1024incn/tag/CUDA/ Memory Access Patterns 大部分device一开始从global Memory获取数据&#xff0c;而且&#xff0c;大部分GPU应用表现会被带宽限制。因此最大化应用对global Memory带宽的使用时获取高性能的第一步。也就是说&#xff0c;gl…

vsCode 格式化配置

学习目标&#xff1a; 基于 vsCode 配置格式化工具&#xff0c;提高&#xff08;React、Vue &#xff09;开发效率  1. vsCode 安装 prettier 插件并启用  2. 修改配置文件 setting.json setting.json 位置&#xff1a; 依次点击 替换内容&#xff1a;↓ {"git.enab…

强化学习代码实战(2) --- 多臂赌博机

目录 前言 1.Python基础 2.Numpy基础 3.多臂赌博机 参考文献 前言 本文内容来自于南京大学郭宪老师在博文视点学院录制的视频&#xff0c;课程仅9元地址&#xff0c;配套书籍为深入浅出强化学习 编程实战 郭宪地址。 1.Python基础 1. print() 可以用该语句查看当前数据的情…

使用线程时,有哪三种常见的线程安全问题

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 今天我们学习 3 类线程安全问题。 什么是线程安全 要想弄清楚有哪 3 类线程安全问题&#xff0c;首先需要了解什么是线程安全&#xff0c;线程安全经常在工作中被提到&#xff0c;比如&#xff1a;你的对象不是线程…

程序员必备网站,别说话直接收藏!

俗话说的好&#xff0c;一个程序员&#xff0c;20%靠知识储备&#xff0c;80%靠网络搜索。打开代码&#xff0c;打开Google&#xff0c;开始工作。 那么常用的写码软件&#xff0c;你知道几个呢&#xff1f;下面我们来一起看一下常用的写码软件吧~建议收藏本文&#xff0c;保证…

docsify搭建个人博客——简单公共知识库

整站建设流程&#xff1a;安装docsify > 排错>配置封面> 配搜索> 启动> 放md类的文章> 自动生成目录&#xff1b; 更新文章流程&#xff1a; 把目录文章放到docsify\docs目录下&#xff0c;然后双击docsify-autosidebar.exe即可&#xff08;它会重新生成目录…

2023版 STM32实战11 SPI总线读写W25Q

SPI全称 英文全称&#xff1a;Serial peripheral Interface 串行外设接口 SPI特点 -1- 串行(逐bit传输) -2- 同步(共用时钟线) -3- 全双工(收发可同时进行) -4- 通信只能由主机发起(一主,多从机) 开发使用习惯和理解 -1- CS片选一般配置为软件控制 -2- 片选低电平有效,从…

JAVA入门总结回顾

1.常用的DOS命令&#xff1a;DOS窗口常用命令-CSDN博客 2.检查jdk是否安装成功&#xff1a;在cmd中输入java -version或者java或者javac。出现相应的对应显示内容。 3.JDK&#xff0c;JRE之间的关系&#xff1a;JDK是JAVA的开发工具包&#xff0c;JRE是JAVA的的运行环境。JRE…

第二证券:指数是什么意思?

跟着经济全球化的加速和商场化进程的深化&#xff0c;指数已成为金融商场重要的风向标和抉择方案参看。指数是依据商场上必定数量的标的股票价格改变而核算的数值&#xff0c;代表了特定股票商场的全体涨跌状况。本文将从多个视点剖析指数的意义和作用。 一、指数的品种和核算…

k8s部署xxl-job后,执行任务提示拒绝连接Connection Refused

一、问题背景 1.1 问题说明 之前由于网络插件flannel安装不成功&#xff0c;导致xxl-job执行任务的时候&#xff0c;提示拒绝服务&#xff0c;如下图所示&#xff1a; 但是安装flannel安装成功后&#xff0c;依然无法联通&#xff0c;还是提示相同问题 1.2 排查网络 通过i…

短视频矩阵系统搭建/源头----源码

一、智能剪辑、矩阵分发、无人直播、爆款文案于一体独立应用开发 抖去推----主要针对本地生活的----移动端(小程序软件系统&#xff0c;目前是全国源头独立开发)&#xff0c;开发功能大拆解分享&#xff0c;功能大拆解&#xff1a; 7大模型剪辑法&#xff08;数学阶乘&#xff…

Golang 数据库操作

文章目录 初始化连接连接池SetMaxOpenConnsSetMaxIdleConnsSetConnMaxIdleTimeSetConnMaxLifetime 查询数据插入数据更新数据删除数据实现账号密码登录功能sqlx的部分用法 首先安装包&#xff1a;Install go get -u github.com/go-sql-driver/mysql // MySQL数据库的包 go get…