当前位置: 首页 > news >正文

CCS3列表和超链接样式

在默认状态下,超链接文本显示为蓝色、下画线效果,当鼠标指针移过超链接时显示为手形,访问过的超链接文本显示为紫色;而列表项目默认会缩进显示,并在左侧显示项目符号。在网页设计中,一般可以根据需要重新定义超链接和列表的默认样式。

1、超链接样式

1.1、动态伪类

动态伪类选择器可以定义超链接的4种状态样式,简单说明如下:

  • a:link:定义超链接的默认样式。
  • a:visited:定义超链接被访问后的样式。
  • a:hover:定义光标指针移过超链接时的样式。
  • a:active:定义超链接被激活时的样式。

【示例】定义页面所有超链接默认为红色下画线效果,超链接被访问过之后显示为蓝色下画线效果,当鼠标移过时显示为绿色下画线效果,而当单击超链接时则显示为黄色下画线效果:

    a:link {color: #FF0000;          /* 红色 */} /* 超链接默认样式 */a:visited {color: #0000FF;       /* 蓝色 */} /* 超链接被访问后的样式 */a:hover {color: #00FF00;         /* 绿色 */}/* 鼠标移过超链接的样式 */a:active {color: #FFFF00;        /* 黄色 */}/* 超链接被激活时的样式 */

在这里插入图片描述

提示:超链接的4种状态样式的排列顺序是固定的,一般不能随意调换。正确顺序是:link、visited、hover和active。如果仅希望超链接显示两种状态样式,使用a:link伪类定义默认样式,使用a:hover伪类定义鼠标经过时的样式。

1.2、定义下画线样式

超链接文本默认显示下画线样式,可以使用CSS3的text-decoration清除:

    a {/* 完全清除超链接的下画线效果 */text-decoration:none;}

从用户体验的角度考虑,在取消下画线之后,应确保浏览者能够正确地识别超链接,如字体加粗、变色、缩放、高亮背景等,也可以设计当鼠标经过时增加下画线,因为下画线具有很好的提示作用:

    a:hover {/* 鼠标经过时显示下画线效果 */text-decoration:underline;}

下画线样式不仅仅是一条实线,可以根据需要自定义设计。主要设计思路如下:

  • 借助<a>标签的底边框线来实现。
  • 利用背景图像来实现,背景图像可以设计出更多精巧的下画线样式。

【示例1】设计当鼠标经过超链接文本时,显示为下画虚线、字体加粗、色彩高亮的效果:

    a {/* 超链接的默认样式 */text-decoration:none;               /* 清除超链接下画线 */color:#999;                         /* 浅灰色文字效果 */}a:hover {/*鼠标经过时样式 */border-bottom:dashed 1px red;       /* 鼠标经过时显示虚下画线效果 */color:#000;                         /* 加重颜色显示 */font-weight:bold;                   /* 加粗字体显示 */zoom:1;                             /* 解决IE浏览器无法显示问题 */}

在这里插入图片描述

1.3、定义特效样式

本例利用边框色的深浅模拟凸凹变化的立体效果。具体实现方法如下:

  • 设置右边框和底边框同色,同时设置顶边框和左边框同色,利用明暗色彩的搭配模拟立体效果。
  • 设置超链接文本的背景色为深色效果,营造凸起效果,当鼠标移过时,再定义浅色背景营造凹下效果。

【示例】定义超链接在默认状态下显示灰色右边和底边框线、白色顶边和左边框线效果。当鼠标移过时,清除右侧和底部边框线,并定义左侧和顶部边框线效果:

    body { background:#fcc; }                     /* 浅色网页背景 */ul {list-style-type: none; }                  /* 清除项目符号 */li { margin: 0 2px; float: left;}             /* 并列显示 */a {/* 超链接的默认样式 */text-decoration:none;                     /* 清除超链接下画线 */border:solid 1px;                         /* 定义1 px实线边框 */padding: 0.4em 0.8em;                     /* 增加超链接补白 */color: #444;                              /* 定义灰色字体 */background: #f99;                         /* 超链接背景色 */border-color: #fff #aaab9c #aaab9c #fff;  /* 分配边框颜色 */zoom:1;                                   /* 解决IE浏览器无法显示问题*/}a:hover {/* 鼠标经过时样式 */color: #800000;                           /* 超链接字体颜色 */background: transparent;                  /* 清除超链接背景色 */border-color: #aaab9c #fff #fff #aaab9c;  /* 分配边框颜色 */}

在这里插入图片描述

1.4、定义光标样式

在默认状态下,鼠标指针经过超链接时显示为手形。使用CSS3的cursor属性可以改变这种默认效果,cursor属性定义鼠标移过对象时的指针样式,属性取值如下所示:
在这里插入图片描述
【示例】在样式表中定义多个鼠标指针类样式,然后为表格单元格应用不同的类样式:

    .auto { cursor: auto; }.default { cursor: default; }.none { cursor: none; }.context-menu { cursor: context-menu; }.help { cursor: help; }.pointer { cursor: pointer; }.progress { cursor: progress; }.wait { cursor: wait; }

在这里插入图片描述
提示:使用自定义图像作为光标类型,IE和Opera只支持*.cur等特定的图片格式;而Firefox、Chrome和Safari既支持特定图片类型,也支持常见的*.jpg、.gif、.jpg等图片格式。

cursor属性值可以是一个序列,当浏览器无法处理第一个图标时,它会尝试处理第二个、第三个等,以此类推,最后一个可以设置为通用光标。例如,下面样式定义了3个自定义动画光标文件,最后定义了一个通用光标类型。

    a:hover { cursor:url('images/1.ani'), url('images/1. cur'), url('images/1.gif'), pointer;}

2、列表样式

2.1、定义项目符号类型

使用CSS3的list-style-type属性可以定义列表项目符号的类型,也可以取消项目符号,该属性取值说明如下表所示:
在这里插入图片描述
使用CSS3的list-style-position属性可以定义项目符号的显示位置。该属性取值包括outside和inside,其中outside表示把项目符号显示在列表项的文本行以外,列表符号默认显示为outside,inside表示把项目符号显示在列表项文本行以内。

注意:如果要清除列表项目的缩进显示样式,可以使用以下样式实现:

    ul, ol {padding: 0;margin: 0;}

【示例】定义项目符号显示为空心圆,并位于列表行内部显示,如下图所示:

    body {/* 清除页边距 */margin: 0;                          /* 清除边界 */padding: 0;                         /* 清除补白 */}ul {/* 列表基本样式 */list-style-type: circle;            /* 空心圆符号*/list-style-position: inside;        /* 显示在里面 */}

提示:在定义列表项目符号样式时,应注意以下两点。

  • 不同浏览器对于项目符号的解析效果,以及其显示位置略有不同。如果要兼容不同浏览器的显示效果,应关注这些差异。
  • 项目符号显示在里面和外面会影响项目符号与列表文本之间的距离,同时影响列表项的缩进效果。不同浏览器在解析时会存在差异。
    在这里插入图片描述

2.2、定义项目符号图像

使用CSS3的list-style-image属性可以自定义项目符号。该属性允许指定一个外部图标文件,以此满足个性化设计需求。用法如下所示:

    list-style-image:none | <url>

默认值为none。

【示例】设计内部样式表,增加自定义项目符号,设计项目符号为外部图标bullet_main_02.gif,效果如下图所示:

    ul {/* 列表基本样式 */list-style-type: circle;                            /* 空心圆符号*/list-style-position: inside;                        /* 显示在里面 */list-style-image: url(images/bullet_main_02.gif);   /* 自定义列表项目符号 */}

在这里插入图片描述
提示:当同时定义项目符号类型和自定义项目符号时,自定义项目符号将覆盖默认的符号类型。但是,如果list-style-type属性值为none或指定外部图标文件不存在时,则list-style-type属性值有效。

2.3、模拟项目符号

使用CSS3的background属性可以模拟列表项目的符号,实现方法如下:
【设计思路】
第1步,先使用list-style-type:none隐藏列表的默认项目符号。
第2步,使用background属性为列表项目定义背景图像,精确定位其显示位置。
第3步,使用padding-left属性为列表项目定义左侧空白,避免背景图像被项目文本遮盖。

【示例】先清除列表的默认项目符号,然后为项目列表定义背景图像,并定位到左侧垂直居中的位置,为了避免列表文本覆盖背景图像,定义左侧补白为一个字符宽度,这样就可以把列表信息向右缩进显示:

    ul {/* 清除列默认样式 */list-style-type: none;padding: 0;margin: 0;}li {/* 定义列表项目的样式 */background-image: url(images/bullet_sarrow.gif);       /* 定义背景图像 */background-position: left center;                      /* 精确定位背景图像的位置 */background-repeat: no-repeat;                          /* 禁止背景图像平铺显示 */padding-left: 1em;                                     /* 为背景图像挤出空白区域 */}

在这里插入图片描述

相关文章:

CCS3列表和超链接样式

在默认状态下&#xff0c;超链接文本显示为蓝色、下画线效果&#xff0c;当鼠标指针移过超链接时显示为手形&#xff0c;访问过的超链接文本显示为紫色&#xff1b;而列表项目默认会缩进显示&#xff0c;并在左侧显示项目符号。在网页设计中&#xff0c;一般可以根据需要重新定…...

vue手机项目如何控制蓝牙连接

要控制蓝牙连接&#xff0c;您需要使用Vue的蓝牙插件或库&#xff0c;例如BLE-Peripheral或cordova-plugin-ble-central。以下是一些基本步骤&#xff1a; 导入蓝牙插件或库。在Vue组件中创建一个蓝牙对象并初始化它。扫描周围的蓝牙设备并连接到所需的设备。一旦连接成功&…...

遥遥领先,免费开源的django4-vue3项目

星域后台管理系统前端介绍 &#x1f33f;项目简介 本项目前端基于当下流行且常用的vue3作为主要技术栈进行开发&#xff0c;融合了typescript和element-plus-ui&#xff0c;提供暗黑模式和白昼模式两种主题以及全屏切换&#xff0c;开发bug少&#xff0c;简单易学&#xff0c…...

视频平台跨网级联视频压缩解决方案

一、 简介 视频监控领域对带宽有着较大的需求&#xff0c;这是因为视频流需要实时占用网络带宽资源。视频监控的传输带宽是组网结构的基础保障&#xff0c;关系到视频监控的稳定性、可靠性和可拓展性等因素。例如&#xff0c;720P的视频格式每路摄像头的比特率为2Mbps&#xff…...

利用python进行数据分析 pdf

利用python进行数据分析 pdf 介绍 在现代社会中&#xff0c;随着大数据时代的到来&#xff0c;数据分析的需求越来越大。而Python作为一门简洁且易于学习的编程语言&#xff0c;具有强大的数据分析能力&#xff0c;成为了广大数据分析师的首选工具之一。本文将指导一位刚入行的…...

Day46.算法训练

518. 零钱兑换 II class Solution {public int change(int amount, int[] coins) {int dp[] new int[amount 1];dp[0] 1;// 遍历物品for (int i 0; i < coins.length; i) {// 遍历背包 从小到大for (int j coins[i]; j < amount; j) {dp[j] dp[j - coins[i]]; …...

基于YOLOv8模型暗夜下人脸目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型暗夜下人脸目标检测系统可用于日常生活中检测与定位黑夜下人脸目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法…...

如何在 Photoshop 中使用位图模式制作自定义音乐海报

如何在 Photoshop 中使用位图创建炫酷的音乐海报设计。 1.如何设置新的 Photoshop 文件 步骤1 在 Photoshop中&#xff0c;转到 “文件”>“新建”。将文档命名为 “音乐海报”。 将宽度设置 为 1270 px &#xff0c; 高度 设置为 1600 px。将分辨率 设置 为 72 像素/英寸…...

1 — NLP 的文本预处理技术

一、说明 在本文中&#xff0c;我们将讨论以下主题&#xff1a;1为什么文本预处理很重要&#xff1f;2 文本预处理技术。这个文对预处理做一个完整化、程序化处理&#xff0c;这对NLP处理项目中有很大参考性。 二、为什么文本预处理很重要&#xff1f; 数据质量显着影响机器学习…...

TypeScript之泛型

一、是什么 泛型程序设计&#xff08;generic programming&#xff09;是程序设计语言的一种风格或范式 泛型允许我们在强类型程序设计语言中编写代码时使用一些以后才指定的类型&#xff0c;在实例化时作为参数指明这些类型 在typescript中&#xff0c;定义函数&#xff0c;…...

一个小妙招从Prompt菜鸟秒变专家!加州大学提出PromptAgent,帮你高效使用ChatGPT!

夕小瑶科技说 原创 作者 | 谢年年、王二狗 有了ChatGPT、GPT4之后&#xff0c;我们的工作学习效率得到大大提升&#xff08;特别在凑字数方面୧(๑•̀◡•́๑)૭&#xff09;。 作为一个工具&#xff0c;有人觉得好用&#xff0c;自然也有人觉得难用。 要把大模型用得6&am…...

Netty通信框架

Netty框架的底层是NIO&#xff0c;NIO&#xff1a;non-blocking io 非阻塞IO 一个线程可以处理多个通道&#xff0c;减少线程创建数量&#xff1b; 读写非阻塞&#xff0c;节约资源&#xff1a;没有可读&#xff0f;可写数据时&#xff0c;不会发生阻塞导致线程资源的浪费 一…...

6西格玛质量标准: 提升业务效率的关键

在现代竞争激烈的商业环境中&#xff0c;企业需要不断提高效率&#xff0c;降低成本&#xff0c;同时确保产品和服务的质量。为了达到这个目标&#xff0c;许多企业已经转向了6西格玛质量标准。这个方法旨在通过最小化缺陷和提高流程稳定性来优化业务运作&#xff0c;为客户提供…...

OpenGL ES相关库加载3D 车辆模型

需求类似奇瑞的这个效果&#xff0c;就是能全方位旋转拖拽看车&#xff0c;以及点击开关车门车窗后备箱等 瑞虎9全景看车 (chery.cn) 最开始收到这个需求的时候还有点无所适从&#xff0c;因为以前没有做过类似的效果&#xff0c;后面一经搜索后发现实现的方式五花八门&#xf…...

云原生环境下JAVA应用容器JVM内存如何配置?—— 筑梦之路

Docker环境下的JVM参数非定值配置 —— 筑梦之路_docker jvm设置-CSDN博客 之前简单地记录过一篇&#xff0c;这里在之前的基础上更加细化一下。 场景说明 使用Java开发且设置的JVM堆空间过小时&#xff0c;程序会出现系统内存不足OOM&#xff08;Out of Memory&#xff09;的…...

防雷接地测试方法完整方案

防雷接地是保障电力系统、电子设备和建筑物安全的重要措施&#xff0c;防雷接地测试是检验防雷接地装置是否合格的必要手段。本文介绍了防雷接地测试的原理、方法和注意事项&#xff0c;以及如何编写防雷接地测试报告。 地凯科技防雷接地测试的原理 防雷接地测试的基本原理是…...

【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用

基础介绍kube-beach介绍kube-beach 下载百度网盘下载wget下载 kube-beach安装kube-beach使用基础参数示例结果说明 基础介绍 为了保证集群以及容器应用的安全&#xff0c;Kubernetes 提供了多种安全机制&#xff0c;限制容器的行为&#xff0c;减少容器和集群的攻击面&#xf…...

玩家必备,2款顶级游戏录屏软件!

“游戏怎么录屏呀&#xff1f;最近迷上了网游&#xff0c;觉得自己的游戏技术挺厉害的&#xff0c;想把游戏视频录下来出一个教程&#xff0c;方便给朋友进行参考&#xff0c;但是我不会录屏&#xff0c;大家有没有游戏录屏的软件或者方法推荐一下。” 随着游戏产业的飞速发展…...

七、W5100S/W5500+RP2040树莓派Pico<UDP 组播>

文章目录 1. 前言2. 相关简介2.1 简述2.2 优点2.3 应用 3. WIZnet以太网芯片4. UDP 组播回环测试4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 测试现象 5. 注意事项6. 相关链接 1. 前言 UDP组播是一种基于UDP协议的通信方式&#xff0c;它允许一台计算机通过发送单…...

Wonder3D:用单张图片生成纹理网格

Wonder3D 只需 2 ∼ 3 分钟即可从单视图图像重建高度详细的纹理网格。 Wonder3D首先通过跨域扩散模型生成一致的多视图法线图和相应的彩色图像&#xff0c;然后利用新颖的法线融合方法实现快速、高质量的重建。 推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 1、推理准…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是&#xff0c;要注意以下几点&#xff1a; Django的表单验证与null无关&#xff1a;null参数控制的是数据库层面字段是否可以为NULL&#xff0c;而blank参数控制的是Django表单验证时字…...