CCS3列表和超链接样式

news2024/11/15 13:36:28

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

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

在这里插入图片描述

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

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

相关文章

通用管理后台项目笔记 - Vue3+Vite安装环境、封装路由

概述 从0打造通用的后台管理系统&#xff0c;系列的第一篇博客&#xff0c;开发环境NodeYarnVite的开发环境&#xff0c;这是记录的学习笔记。 Node环境 本地使用的是Node v18.18.2&#xff0c;npm v9.8.1,安装脚手架工具&#xff0c;npm、cnpm、yarn3种方式&#xff0c;如果…

Linux玩物志:好玩却无用的软件探秘

W...Y的主页 &#x1f60a; 代码仓库分享&#x1f495; &#x1f354;前言&#xff1a; 我们已经学习了yum指令&#xff0c;可以在Linux中安装一些软件的指令。下面我们就盘点一些可玩性很高但是却没有什么用的软件&#xff0c;在枯燥的学习中增添一丝乐趣&#xff01; For…

常见排序算法之堆排序

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

虚拟机克隆

linux系统的组成&#xff1b; 主根目录和根目录; 所有的根目录都包含在主根目录中&#xff1b; 根目录&#xff1a; /root /home/xxx,yyy,zzz;主根目录&#xff1b;/ 一个重要的子目录&#xff1a;etc passwd, 保存了所有的三类用户信息&#xff1b;bashrc, 可以设置别名 及…

kafka基本原理详解

Kafka是最初由Linkedin公司开发&#xff0c;是一个分布式、支持分区的&#xff08;partition&#xff09;、多副本&#xff08;replica&#xff09;&#xff0c;基于zookeeper协 调的分布式消息系统&#xff0c;它的最大的特性就是可以实时的处理大量数据以满足各种需求场景&am…

模块化时代的必备工具:Webpack详解,为你的项目注入新活力

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! ​ 目录 ⭐ 专栏简介 &#x1f4d8; 文章引言 一…

好书分享 | 千万富翁是怎么炼成的?

这是好书分享系列的第1篇&#xff0c;如果觉得对你有帮助&#xff0c;欢迎分享给你的朋友或家人。如果想继续收到本系列推文&#xff0c;请点击下方公众号关注我。 最近在微信读书的新书榜里&#xff0c;看到一本之前在国外网站看到别人推荐的书&#xff0c;《邻家的百万富翁》…

软件开发分享:从瀑布模式到水母模式——ChatGPT如何赋能软件研发全流程

文章目录 &#x1f4cb;前言&#x1f3af;ChatGPT如何赋能软件研发全流程&#x1f3af;ChatGPT和软件开发如何相辅相成&#x1f525;文末送书&#x1f9e9;专家推荐&#x1f9e9;内容介绍&#x1f9e9;作者介绍——陈斌 &#x1f525;参与方式 &#x1f4cb;前言 计算机技术的…

阿里云推出通义千问App,提供全方位的协助

&#x1f989; AI新闻 &#x1f680; 阿里云推出通义千问App&#xff0c;提供全方位的协助 摘要&#xff1a;阿里云旗下大模型通义千问App登陆各大安卓应用市场&#xff0c;具有超大规模预训练模型&#xff0c;可在创意文案、办公助理、学习助手、趣味生活等方面协助用户。功…

asp.net平面设计运营管理信息系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

asp.net平面设计运营管理系统 1.绪论 1.1编写的目的 3DA平面设计运营管理系统是为了提供本司经营模式拥有一个更便易管理职员工作的系统。目标是让职员工作更信息化&#xff0c;明确化&#xff1b;方便本司管理员能一站式解决工作中产生的数据进行统一汇总&#xff0c;提升管理…

镭神16线激光雷达跑SC-LeGo-LOAM算法

link 一、运行环境 环境&#xff1a;ubutu18.04ros:melodicpcl:1.8gtsammetis 环境配置&#xff1a; Eigen 3.3.4PCL 1.8.1 &#xff08;1.11不能用&#xff09;ceres 2.0.0gtsam 4.0.0 雷达参数&#xff1a; 二、下载编译运行 已修改配置的源码文件&#xff0c;下载catkin_ma…

【idea】生成banner.txt

Spring Boot banner在线生成工具&#xff0c;制作下载英文banner.txt&#xff0c;修改替换banner.txt文字实现自定义&#xff0c;个性化启动banner-bootschool.netSpring Boot banner工具实现在线生成banner&#xff0c;轻松修改替换实现自定义banner&#xff0c;让banner.txt文…

谈API接入必须了解的各大API调用电商API应用场景

哪些业务场景可以使用API接口&#xff1f; &#xff08;1&#xff09;爬虫业务&#xff1a;在爬虫业务中&#xff0c;使用API接口可以帮助解决IP限制、反爬虫策略等问题&#xff0c;提高爬取数据的效率和稳定性。 &#xff08;2&#xff09;网络安全&#xff1a;在网络安全领…

CB2-2CARD的openSUSE远程SSH登录提示优化

CB2-2CARD的openSUSE远程SSH登录提示优化 1. 源由2. 优化内容2.1 去掉Password/banner前后的prompts提示语句2.2 增加logo登录界面2.3 增加系统运行情况简单汇报2.4 增加banner 3. 优化效果 1. 源由 之前运行的CB2-2CARD的openSUSE安装&NAS环境配置服务器已经运行也有段时…

POI实现省市级联(二级下拉框)

POI实现省市级联&#xff08;二级下拉框&#xff09; POI级联下拉框 直接上代码测试结果参考文章 POI级联下拉框 业务上经常会用到POI做Excel的导出&#xff0c;有时导出需求比较复杂&#xff0c;这里记录一下自己参考网上大神的水月境的博文完成的一个导出Excel省市级连下拉…

语雀故障与反思,顺便再领半年会员!

23 日语雀的故障相信大部分人都已经知道了&#xff0c;官方发布的公告是这样的&#xff1a; 10 月 23 日语雀出现重大服务故障&#xff0c;且持续 7 个多小时才完全恢复&#xff0c;给用户使用造成极大不便&#xff0c;对此我们深感抱歉。经过复盘&#xff0c;我们在这里向大家…

电脑数据文件恢复工具easyrecovery14中文版

当不小心将回收站的文件删除了怎么办&#xff1f;想找回但是不知道怎么找回需要的数据文件&#xff1f;别担心今天小编就为大家介绍一款非常专业的电脑数据文件恢复工具&#xff0c;easyrecovery14是由Ontrack专为电脑用户推出的一款专业的数据恢复软件&#xff0c;这款软件功能…

一道简单的C#面试题

试题&#xff1a; 抽顺序问题&#xff1a;有10位面试者&#xff0c;需要随机抽号面试。 1&#xff09;总共十个号数&#xff0c;用数组表示&#xff1b; 2&#xff09;每一位面试者输入1开始抽签&#xff0c;然后得到抽签号&#xff0c;输入2结束抽签&#xff1b; 3&#x…

(4) OpenCV图像处理SVM算法

一、介绍 考虑下面的图像,它具有两种数据类型,红色和蓝色。我们找到一条线f(x)=ax1+bx2+cf(x)=ax1+bx2+c,它将两条数据都分为两个区域。当我们得到一个新的test_data XX时,只需将其替换为f(x)f(x)即可。如果f(X)>0f(X)>0,则属于蓝色组,否则属于红色组。我们可以将此…

【QML】QML使用C++自定义组件,动态链接库DLL构建及使用

1. 方法1 &#xff08;C源码&#xff09; 1.1 创建一个普通的qml工程&#xff0c;写入ListView测试代码 import QtQuick 2.15 import QtQuick.Window 2.15Window {width: 640height: 500visible: truetitle: qsTr("Hello World")ListView{id:lvwidth: 100height: 5…