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;                                     /* 为背景图像挤出空白区域 */
    }

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用Llama index构建多代理 RAG

检索增强生成(RAG)已成为增强大型语言模型(LLM)能力的一种强大技术。通过从知识来源中检索相关信息并将其纳入提示&#xff0c;RAG为LLM提供了有用的上下文&#xff0c;以产生基于事实的输出。 但是现有的单代理RAG系统面临着检索效率低下、高延迟和次优提示的挑战。这些问题在…

答题小程序源码个人每日答题怎么做

答题小程序源码之个人每日答题怎么做 该模式以个人学习答题的方式进行答题&#xff0c;每人每天有X次答题机会&#xff0c;答对一题得X分&#xff0c;连续答对有额外奖励积分&#xff0c;每道题有倒计时X秒的思考时间。答题完成后领取本次的奖励积分。答题过程中如发现题目或答…

3D模拟场景开发引擎

在3D工程模拟开发中&#xff0c;有一些专门的引擎和工具可供选择&#xff0c;以帮助您创建逼真的三维模拟和模型。以下是一些用于3D工程模拟的开发引擎和工具&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流…

matlab 布尔莎七参数坐标转换模型

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫自重,把自己当个人。 一、算法原理 算法原理与实现代码已在免费文章:布尔莎七参数坐标转换模型一文中给出,不想看付费文章直接跳转即可。 二、代码实现 clc; clear; close all; %% --

C语言C位出道心法(一):基础语法

一:基础语法认知:|变量|常量|数据类型| 变量与常量,数据类型认知升维 C语言中各种变量的定义及数据类型的认知: 一般而言,在譬如C等高级编程语言中,我们定义不同的类型的变量,需要不同的数据类型来进行声明,不同类型的数据类型声明的变量占用的内存空间不一样; 而数据类型大致…

go中“哨兵错误”的由来及使用建议

“哨兵错误&#xff08;sentinel error&#xff09;”这个词的出处。之前我也只是在一些书籍和资料中见到过&#xff0c;也没深究。当这个网友问了我之后&#xff0c;就深入的翻了翻资料&#xff0c;在golang的官方博客中找到了这个词的提法&#xff0c;也算是比较官方的了吧。…

如何在外SSH远程连接Ubuntu系统【无公网IP】

如何在外SSH远程连接Ubuntu系统【无公网IP】 文章目录 如何在外SSH远程连接Ubuntu系统【无公网IP】前言1. 在Ubuntu系统下安装cpolar软件2. 完成安装后打开cpolar客户端web—UI界面3. 创建隧道取得连接Ubuntu系统公网地址4. 打开Windows的命令界面并输入命令 前言 随着科技和经…

酷开科技,让家庭更有温度!

生活中总有一些瞬间&#xff0c;会让我们感到无比温暖和幸福。一个拥抱、一句问候、一杯热茶&#xff0c;都能让我们感受到家庭的温馨和关爱。酷开科技也用自己的方式为我们带来了独属于科技的温暖&#xff0c;通过全新的体验将消费者带进一个充满惊喜的世界&#xff0c;让消费…

常见排序算法之堆排序

堆排序是一种利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构&#xff0c;并同时满足堆积的性质&#xff1a;即子结点的键值或索引总是小于&#xff08;或者大于&#xff09;它的父节点。 需要注意的是排升序要建大堆&#xff0c;排降序建小堆…

SurfaceFliger与Vsync信号如何建立链接?

Vsync信号上报流程 Vsync的注册函数&#xff0c;来临时会回调HWComposer的hook_VSYNC方法&#xff0c;接着调用到vsync方法中 大致流程梳理&#xff1a; 该方法会通知给SurfaceFliger的onVsyncReceived方法&#xff0c;接着调用DispSync的addResyncSample方法。 DispSyncThr…

2023-在mac下安装Homebrew的国内镜像

mac安装Homebrew的国内镜像 尝试使用其他下载源&#xff1a;GitHub 可能会受到访问限制&#xff0c;尝试使用其他镜像或下载源。您可以使用清华大学、中科大或阿里云的 Homebrew 镜像&#xff0c;以提高下载速度和可靠性。例如&#xff0c;可以使用阿里云的镜像来安装 Homebre…

window系统修改rabbitmq 默认端口

安装完rabbitmq之后&#xff0c;默认的client端口是5672, 控制台访问端口是15672&#xff0c;rabbitmq管理工具启动之后在浏览器中输入地址&#xff1a; ​ ​http://localhost:15672/​​​ 就可以访问后台​ ​​​&#xff0c; 默认管理员账号&#xff1a;guest 密码&#x…

虚拟化、容器与Docker基本介绍以及安装部署(Docker 基本管理)

虚拟化、容器与Docker基本介绍以及安装部署&#xff08;Docker 基本管理&#xff09; 1、Docker 概述1.1Docker与虚拟机的区别1.2容器在内核中支持2种重要技术&#xff1a;1.3Docker核心概念 2、安装docker服务docker安装步骤详解 3、 网络优化4、docker基本命令4.1查看镜像——…

Unity 粒子特效-第二集-烟雾特效

一、烟雾特效预览 二、制作原理 资源在绑定资源里&#xff0c;我得审核通过以后才能改成免费&#xff0c;如果着急要&#xff0c;可以评论区发一下&#xff0c;我给你们发网盘 1.这个是序列帧图片粒子特效一起组合而成的 这就是一个单独整个的烟雾动画 如下&#xff0c;是这…

连铸生产线液压系统比例伺服阀放大器

连铸生产线液压系统是连铸机的关键组成部分&#xff0c;它由液压站组成&#xff0c;包括高压泵站、剪切机泵站、滑动水口站、塞棒液压站、中间罐车液压站和倾翻台液压站。这些站点通过管道连接&#xff0c;共同实现连铸机的各类动作&#xff0c;如升降、横移、定位、锁紧及辊缝…

如何借助数据集更好的评估NLP模型的性能?

随着信息时代的迅猛发展&#xff0c;每天有无数文本、声音、图片和视频不断涌入互联网。如何从海量数据中提炼有意义信息成为学术界和工业界迫切需要解决的问题。在此背景下&#xff0c;自然语言处理&#xff08;NLP&#xff09;应运而生&#xff0c;成为人工智能领域最为活跃的…

设计模式_观察者模式

观察者模式 介绍 设计模式定义案例问题堆积在哪里解决办法观察者是行为型设计模式 多个对象 观察 1个对象小强考试完 成绩公布了 家长/同学得知成绩后 做出不同反应一个一个通知很麻烦 先通知谁 也有讲究的 信息发布方 抽象出一个信息管理类 负责管理监听者 类图 代码 Obse…

Java访问直接内存

一、背景 上一篇文章 类目体系设计总结&#xff0c;讲了Forest缓存数据是放在直接内存的&#xff0c;今天我们就来了解一下Java的直接内存是个啥玩意&#xff0c;它该怎么使用。 二、直接内存介绍 直接内存是在Java堆外的&#xff0c;直接向系统申请内存空间&#xff0c;它不…

【数据挖掘 | 数据预处理】缺失值处理 重复值处理 文本处理 确定不来看看?

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

Ansible 安装部署及常用命令和17个模块详解

目录 Ansible 1 ansible 环境安装部署 1.1 管理端安装 ansible 1.2 ansible 目录结构 1.3 配置主机清单 1.4 配置密钥对验证 2 ansible 命令行模块 2.1 command 模块 2.2 shell 模块 2.3 cron 模块 2.4 user 模块 2.5 group 模块 2.6 copy 模块 2.7 file 模块 2.…