HTML+CSS-02

阿里巴巴矢量图标库的使用

阿里巴巴网址矢量图标库网址

https://www.iconfont.cn/

如何使用

  • 选择需要的icon图标
  • 加入购物车
  • 下载代码

案例-010

  • 在将解压后的文件夹复制到项目中
  • 进入demo_index.html中打开就可以看到示例的三种用法

案例-011

三种引入方法

Unicode 引用


Unicode 是字体在网页端最原始的应用方式,特点是:

  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • 默认情况下不支持多色,直接添加多色图标会自动去色。

注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)

Unicode 使用步骤如下:

第一步:拷贝项目下面生成的 @font-face

@font-face {font-family: 'iconfont';src: url('iconfont.ttf?t=1705403407065') format('truetype');
}

第二步:定义使用 iconfont 的样式

.iconfont {font-family: "iconfont" !important;font-size: 16px;font-style: normal;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;
}

第三步:挑选相应图标并获取字体编码,应用于页面

<span class="iconfont">&#x33;</span>

“iconfont” 是你项目下的 font-family。可以通过编辑项目查看,默认是 “iconfont”。

font-class 引用


font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

与 Unicode 使用方式相比,具有如下特点:

  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。

使用步骤如下:

第一步:引入项目下面生成的 fontclass 代码:

<link rel="stylesheet" href="./iconfont.css">

第二步:挑选相应图标并获取类名,应用于页面:

<span class="iconfont icon-xxx"></span>

" iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 “iconfont”。

Symbol 引用


这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

  • 支持多色图标了,不再受单色限制。
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • 浏览器渲染 SVG 的性能一般,还不如 png。

使用步骤如下:

第一步:引入项目下面生成的 symbol 代码:

<script src="./iconfont.js"></script>

第二步:加入通用 CSS 代码(引入一次就行):

<style>
.icon {width: 1em;height: 1em;vertical-align: -0.15em;fill: currentColor;overflow: hidden;
}
</style>

第三步:挑选相应图标并获取类名,应用于页面:

<svg class="icon" aria-hidden="true"><use xlink:href="#icon-xxx"></use>
</svg>

案例-1-滚动的车轮

示例

案例-012

代码

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>车轮</title><script src="../static/font_qugpaj0k5r8/iconfont.js"></script><style type="text/css">.max {width: 100px;height: 100px;border: 10px solid yellow;}.icon {width: 20em;height: 20em;vertical-align: -0.15em;fill: currentColor;overflow: hidden;transition: all 4s;}hr {margin: 0px;height: 30px;background-color: #00FFFF;transform: translateY(-10px);}svg:hover {transform: translateX(1000px) rotate(3600deg);}</style>
</head><body><svg class="icon" aria-hidden="true"><use xlink:href="#icon-chelun"></use></svg><hr />
</body></html>

注意:

引入的图标素材代码的路径一定要正确

position定位

CSS position 属性用于指定一个元素在文档中的定位方式。toprightbottomleft 属性则决定了该元素的最终位置。

示例

案例-014

定位类型

  • 定位元素(positioned element)是其计算后位置属性为 relative, absolute, fixedsticky 的一个元素(换句话说,除static以外的任何东西)。
  • 相对定位元素(relatively positioned element)是计算后位置属性为 relative的元素。
  • 绝对定位元素(absolutely positioned element)是计算后位置属性为 absolutefixed 的元素。
  • 粘性定位元素(stickily positioned element)是计算后位置属性为 sticky 的元素。

大多数情况下,heightwidth 被设定为 auto 的绝对定位元素,按其内容大小调整尺寸。但是,被绝对定位的元素可以通过指定topbottom ,保留height未指定(即auto),来填充可用的垂直空间。它们同样可以通过指定leftright并将width 指定为auto来填充可用的水平空间。

除了刚刚描述的情况(绝对定位元素填充可用空间):

  • 如果 topbottom 都被指定(严格来说,这里指定的值不能为 auto ),top 优先。
  • 如果指定了 leftright ,当 direction设置为 ltr(水平书写的中文、英语)时 left 优先,当direction设置为 rtl(阿拉伯语、希伯来语、波斯语由右向左书写)时 right 优先。

相对定位(Relative Positioning):

  1. 相对定位相对于自身位置: 元素在文档流中仍然占据原本的位置,但是可以通过相对定位属性来相对于其正常位置进行移动。

  2. 使用方法: 使用CSS中的 position: relative; 属性。

  3. 示例:

    .parent {position: relative;
    }.child {position: relative; /* 或者可以省略,因为相对定位是默认值 */top: 20px;left: 10px;
    }
    

绝对定位(Absolute Positioning):

  1. 绝对定位相对于最近的已定位的祖先元素,如果没有已定位的祖先元素,则相对于最初的包含块(通常是 <html> 元素)。

  2. 使用方法: 使用CSS中的 position: absolute; 属性。

  3. 示例:

    .parent {position: relative; /* 或者其他已定位的值 */
    }.child {position: absolute;top: 50px;left: 30px;
    }
    

总结:

  • 相对定位是相对于元素自身正常位置进行移动。
  • 绝对定位是相对于最近的已定位祖先元素(如果有)或者最初的包含块进行移动。

在使用这两种定位方式时,可以通过 toprightbottomleft 属性来调整元素的位置。

语法

position 属性被指定为从下面的值列表中选择的单个关键字。

案例-2-定位

示例

案例-013

代码

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">* {padding: 0px;margin: 0px;}.max {width: 234px;height: 420px;padding: 20px 0px;background-color: rgba(105, 101, 101, .6);margin: 0px auto;}li {list-style: none;padding-left: 30px;height: 42px;line-height: 42px;position: relative;}li:hover {background-color: #ff6700;}.list {width: 230px;height: 300px;background-color: skyblue;display: none;}li:hover .list {display: flex;position: absolute;top: 0;left: 234px;}</style>
</head><body><ul class="max"><li>1<div class="list">手机</div></li><li>2<div class="list">电脑</div></li><li>3<div class="list">智能家居</div></li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li></ul>
</body></html>

CSS背景

background

background 是一种 CSS 简写属性,用于一次性集中定义各种背景属性,包括 color, image, origin 与 size, repeat 方式等等。

示例

在这里插入图片描述

此属性是一个 简写属性,可以在一次声明中定义一个或多个属性:background-clipbackground-colorbackground-imagebackground-originbackground-positionbackground-repeatbackground-size,和 background-attachment

对于所有简写属性,任何没有被指定的值都会被设定为它们的 初始值。

语法

CSS

/* 使用 <background-color> */
background: green;/* 使用 <bg-image> 和 <repeat-style> */
background: url("test.jpg") repeat-y;/* 使用 <box> 和 <background-color> */
background: border-box red;/* 将背景设为一张居中放大的图片 */
background: no-repeat center/80% url("../img/image.png");

background 属性被指定多个背景层时,使用逗号分隔每个背景层。

background-clip

background-clip 设置元素的背景(背景图片或颜色)是否延伸到边框、内边距盒子、内容盒子下面。

案例-016

如果没有设置背景图片(background-image)或背景颜色(background-color),那么这个属性只有在边框( border)被设置为非固实(soild)、透明或半透明时才能看到视觉效果(与 border-styleborder-image 有关),否则,本属性产生的样式变化会被边框覆盖。

语法

CSS

/* Keyword values */
background-clip: border-box;
background-clip: padding-box;
background-clip: content-box;
background-clip: text;/* Global values */
background-clip: inherit;
background-clip: initial;
background-clip: unset;

background-color

概览

CSS属性中的 background-color 会设置元素的背景色,属性的值为颜色值或关键字"transparent"二者选其一。

语法

CSS

/* 关键词颜色值 */
background-color: red;/* 十六进制值 */
background-color: #bbff00;/* RGB value */
background-color: rgb(255, 255, 128);/* HSLA value */
background-color: hsla(50, 33%, 25%, 0.75);/* Special keyword values */
background-color: currentColor;
background-color: transparent;/* 全局设置 */
background-color: inherit;
background-color: initial;
background-color: unset;

background-color 属性只能使用 <color> 值。

取值

  • <color>

    一个描述背景统一颜色的 CSS <color> 值。即使一个或几个的 background-image 被定义,如果图像是不透明的,通过透明度该颜色也能影响到渲染。在 CSS 中,transparent 是一种颜色。

background-image

CSS background-image 属性用于为一个元素设置一个或者多个背景图像。

示例

案例-017

在绘制时,图像以 z 方向堆叠的方式进行。先指定的图像会在之后指定的图像上面绘制。因此指定的第一个图像“最接近用户”。

然后元素的边框 border 会在它们之上被绘制,而 background-color 会在它们之下绘制。图像的绘制与盒子以及盒子的边框的关系,需要在 CSS 属性background-clipbackground-origin 中定义。

如果一个指定的图像无法被绘制 (比如,被指定的 URI 所表示的文件无法被加载),浏览器会将此情况等同于其值被设为 none

案例-3-背景

示例-默认平铺

image-20240116203924113

代码

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">.max{width: 800px;height: 800px;background-color: skyblue;/* background-image表示背景图片 *//* 背景图片默认采用平铺的方式 */background-image: url(../static/avatar/0003.jpg);}</style></head><body><div class="max"></div></body>
</html>

示例-取消平铺

image-20240116204124910

代码

.max{width: 800px;height: 800px;background-color: skyblue;/* background-image表示背景图片 *//* 背景图片默认采用平铺的方式 */background-image: url(../static/avatar/0003.jpg);/* 设置背景图片的平铺方式-不平铺 */background-repeat: no-repeat;}

示例-X轴平铺

image-20240116204328174

代码

.max{width: 800px;height: 800px;background-color: skyblue;/* background-image表示背景图片 *//* 背景图片默认采用平铺的方式 */background-image: url(../static/avatar/0003.jpg);/* 设置背景图片的平铺方式 */background-repeat: repeat-x;}

示例-居中平铺

image-20240116204629565

.max{width: 800px;height: 800px;background-color: skyblue;/* background-image表示背景图片 *//* 背景图片默认采用平铺的方式 */background-image: url(../static/avatar/0003.jpg);/* 设置背景图片的平铺方式 */background-position: center center;}

示例-图片缩放平铺

在这里插入图片描述

.max{width: 800px;height: 800px;background-color: skyblue;/* background-image表示背景图片 *//* 背景图片默认采用平铺的方式 */background-image: url(../static/avatar/0003.jpg);/* 第一个值表示背景图片的宽度 第二个值表示背景图片的高度 */background-size: 20% 20%;}

display

示例

案例-018

CSS display 属性设置元素是否被视为块或者内联元素以及用于子元素的布局,例如流式布局、网格布局或弹性布局。

形式上,display 属性设置元素的内部和外部的显示类型。外部类型设置元素参与流式布局;内部类型设置子元素的布局。一些 display 值在它们自己的单独规范中完整定义;例如,在 CSS 弹性盒模型的规范中,定义了声明 display: flex 时会发生的细节。

常用属性

  1. block(块级元素):

    • 元素会生成一个块级框,独占一行。
    • 宽度默认是容器的100%。
    • 可以设置宽度、高度、内外边距。
    display: block;
    
  2. inline(行内元素):

    • 元素会生成一个行内框,不会独占一行,相邻的行内元素会在同一行显示。
    • 宽度和高度只取决于内容。
    • 不能设置宽度、高度、上下边距。
    display: inline;
    
  3. inline-block(行内块级元素):

    • 元素生成一个行内框,但可以设置宽度、高度、内外边距。
    • 相邻的行内块级元素会在同一行显示。
    display: inline-block;
    
  4. flex(弹性盒子):

    • 元素成为弹性容器,其子元素成为弹性项目。
    • 可以使用弹性布局来实现灵活的盒子模型。
    display: flex;
    
  5. grid(网格布局):

    • 元素成为网格容器,可以使用网格布局来定义行和列。
    • 提供了更灵活的布局方式。
    display: grid;
    
  6. none(隐藏元素):

    • 元素在页面上不显示,不占据空间。
    • visibility: hidden; 不同,display: none; 不占据布局空间。
    display: none;
    

float

示例

案例-019

float CSS 属性指定一个元素应沿其容器的左侧或右侧放置,允许文本和内联元素环绕它。该元素从网页的正常流动(文档流)中移除,但是仍然保持部分的流动性(与绝对定位相反)。

语法

CSS

/* Keyword values */
float: left;
float: right;
float: none;
float: inline-start;
float: inline-end;/* Global values */
float: inherit;
float: initial;
float: revert;
float: unset;

z-index

CSS z-index 属性设置定位元素及其后代元素或 flex 项目的 Z 轴顺序。z-index 较大的重叠元素会覆盖较小的元素。

示例

案例-020

对于定位盒子(即 position 属性值非 static 的盒子),z-index 属性会指定:

  1. 盒子在当前层叠上下文中的层叠等级。
  2. 盒子是否会创建局部层叠上下文。

语法

CSS

/* 关键字值 */
z-index: auto;/* 整数值 */
z-index: 0;
z-index: 3;
z-index: 289;
z-index: -1; /* 使用负值降低优先级 *//* 全局值 */
z-index: inherit;
z-index: initial;
z-index: unset;

z-index 属性可以被设置为关键字 auto<integer>

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

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

相关文章

vscode(visual studio code) 免密登陆服务器

1.生成密钥 首先&#xff0c;在本地&#xff0c;打开命令输入框&#xff1a; WinR–>弹出输入框&#xff0c;输入cmd,打开命令框。 然后&#xff0c;在命令框&#xff0c;输入 ssh-keygen -t rsa -C "love"按两次回车键&#xff0c;问你是否重写&#xff0c;选择…

人工智能SCI二区期刊Applied Intelligence高被引录用论文合集,含2024最新

今天给着急发论文的同学推荐一本期刊&#xff1a;《APPLIED INTELLIGENCE》。 该刊由SPRINGER出版商于1991年创刊&#xff0c;刊期Bimonthly&#xff0c;专注于人工智能和神经网络的研究&#xff0c;重点关注有关创新智能系统的方法论及其在解决现实生活复杂问题的研究进展&am…

Springboot中使用Filter过滤器

1、概述 springboot工程中使用Filter过滤器与其他地方使用基本相同&#xff0c;只是注入的方式不同。 2、创建Filter过滤器 实现Filter接口&#xff0c;重写doFilter方法 filterChain.doFilter(servletRequest,servletResponse);表示放行 public class MyFilter implement…

Rocketmq rust版本-开篇

我是蚂蚁背大象(Apache EventMesh PMC&Committer)&#xff0c;文章对你有帮助给Rocketmq-rust star,关注我GitHub:mxsm&#xff0c;文章有不正确的地方请您斧正,创建ISSUE提交PR~谢谢! Emal:mxsmapache.com Rust重构Rocketmq,大家好我是mxsm(Apache EventMesh PMC&Comm…

基于SSM的网上订餐管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

go语言初探(一)

package mainimport ("fmt""time" )func main() {fmt.Print("hello go!")time.Sleep(1 * time.Second)}运行后&#xff0c;结果如下&#xff1a; 1、golang表达式中&#xff0c;加&#xff1b;和不加&#xff1b;都可以 2、函数的{和函数名一…

五、Model与View

一、Model/View结构 数据&#xff1a;如数据库的一个数据表或者SQL查询结果&#xff0c;如内存中的数据类对象&#xff0c;或者磁盘文件结构等Model&#xff1a;与数据通信&#xff0c;并作为视图组件提供数据接口View&#xff1a;屏幕界面组件&#xff0c;视图从数据模型获得…

软件工程:黑盒测试等价分类法相关知识和多实例分析

目录 一、黑盒测试和等价分类法 1. 黑盒测试 2. 等价分类法 二、黑盒测试等价分类法实例分析 1. 工厂招工年龄测试 2. 规定电话号码测试 3. 八位微机测试 4. 三角形判断测试 一、黑盒测试和等价分类法 1. 黑盒测试 黑盒测试就是根据被测试程序功能来进行测试&#xf…

Arduino快速上手esp32方案开发

一、什么是ESP32&#xff1f; ESP32是Espressif Systems推出的一款高性能、低功耗的Wi-Fi和蓝牙双模系统级芯片&#xff08;SoC&#xff09;&#xff0c;广泛应用于物联网、智能家居、可穿戴设备等领域。它基于极低功耗的Tensilica Xtensa LX6微处理器&#xff0c;并集成了丰富…

【现代密码学】笔记4--消息认证码与抗碰撞哈希函数《introduction to modern cryphtography》

【现代密码学】笔记4--消息认证码与抗碰撞哈希函数《introduction to modern cryphtography》 写在最前面4 消息认证码与抗碰撞哈希函数MAC概念回顾&#xff08;是的&#xff0c;我忘记这些缩写是什么了。。&#xff09;MAC的定义适应性CMA&#xff08;Chosen Message Attack&a…

SpringBoot教程(十五) | SpringBoot集成RabbitMq

SpringBoot教程(十五) | SpringBoot集成RabbitMq RabbitMq是我们在开发过程中经常会使用的一种消息队列。今天我们来研究研究rabbitMq的使用。 rabbitMq的官网&#xff1a; rabbitmq.com/ rabbitMq的安装这里先略过&#xff0c;因为我尝试了几次都失败了&#xff0c;后面等我…

边缘型人格障碍测试

边缘性人格障碍属于常见多发的人格障碍类型&#xff0c;在2015年美国的相关调查显示&#xff0c;边缘型人格障碍的患病率在初级医疗环境中为6%&#xff0c;在精神科住院病人中则达到20%。 边缘性人格障碍治疗难度高&#xff0c;对于个人造成的危害大。应该及早了解边缘性人格障…

软件测试|Git:fatal: refusing to merge unrelated histories错误分析与解决

问题介绍 在使用Git时&#xff0c;有时我们可能会遇到以下错误消息&#xff1a; fatal: refusing to merge unrelated histories这个错误通常发生在尝试合并两个不相关的Git仓库历史时。在本文中&#xff0c;我们将详细解释为什么会出现这个错误以及如何解决它。 问题分析 …

DataFunSummit:2023年云原生大数据峰会:核心内容与学习收获(附大会核心PPT下载)

随着数字化转型的深入推进&#xff0c;大数据技术已经成为企业获取竞争优势的关键因素之一。本次峰会汇聚了业界顶尖的大数据专家、企业领袖和技术精英&#xff0c;共同探讨云原生大数据领域的最新技术和趋势。本文将深入分析峰会的核心内容&#xff0c;并探讨参会者从中能学到…

Python字符串验证与正则表达式【第23篇—python基础】

文章目录 引言方法1&#xff1a;使用 isalpha() 方法方法2&#xff1a;使用正则表达式方法3&#xff1a;遍历字符检查应用场景示例与比较优化与扩展方法4&#xff1a;考虑空格和其他字符应用场景扩展 示例与比较优化与扩展方法4&#xff1a;考虑空格和其他字符方法5&#xff1a…

【期末不挂科-C++考前速过系列P5】大二C++实验作业-多态性(3道代码题)【解析,注释】

前言 大家好吖&#xff0c;欢迎来到 YY 滴C考前速过系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《…

Docker容器(二)安装与初体验wordpress

一、安装 1.1关闭SeLinux SeLinux&#xff08;Security-Enhanced Linux&#xff09;是一种基于Linux内核的安全模块&#xff0c;旨在提供更严格的访问控制和安全策略。它通过强制实施安全策略来限制系统资源的访问&#xff0c;从而保护系统免受恶意软件和未经授权的访问。 在…

2023国赛 陕西省省级二等奖得主 数学建模学习资源推荐

美国最为权威的数学建模参考书Mathematical Modeling 在前言部分对数学建模有一个比较通俗易懂的解释&#xff1a; Mathematical modeling is the link between mathematics and the rest of the world. You ask a question. You think a bit, and then you refine the questi…

pandas字符串操作(上)

目录 数据预览&#xff1a; 一、split分割列 1.需求&#xff1a; 2.完整代码展示 3.讲解 &#xff08;1&#xff09;分割 &#xff08;2&#xff09;写入 4.效果展示 二、partition分割列 1.需求&#xff1a; 2.完整代码展示 3.讲解 &#xff08;1&#xff09;分割…

推荐系统模型(一) DFN 详解 Deep Feedback Network for Recommendation

背景 在大多数的推荐系统中&#xff0c;往往注重于隐式正反馈(例如&#xff1a;点击)&#xff0c;而忽略掉用户的其他行为(例如大多数CTR模型只考虑用户的喜欢&#xff0c;而忽略了不喜欢)。腾讯在Deep Feedback Network for Recommendation 一文中&#xff0c;提出了一个新颖…