用ul li实现边框重合并附带鼠标经过效果

yizhihongxing

要使用ulli标签实现边框重叠,并附带鼠标经过效果,可以按照以下步骤进行操作:

  1. 创建一个无序列表ul,并添加需要展示的内容,例如:
<ul>
  <li>菜单1</li>
  <li>菜单2</li>
  <li>菜单3</li>
</ul>
  1. 使用CSS对ulli进行样式修改,例如:
ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-block;
}

li {
  display: inline-block;
  padding: 10px 20px;
  border: 1px solid #ccc;
  position: relative;
}

li:first-child {
  border-left: none;
}

li:last-child {
  border-right: none;
}

li:hover {
  background-color: #ccc;
  color: #fff;
}

li:hover:before, li:hover:after {
  content: "";
  position: absolute;
  height: 0;
  width: 0;
  border-style: solid;
}

li:hover:before {
  left: -2px;
  top: -2px;
  border-width: 0 0 10px 10px;
  border-color: transparent transparent #ccc transparent;
}

li:hover:after {
  right: -2px;
  top: -2px;
  border-width: 0 10px 10px 0;
  border-color: transparent #ccc transparent transparent;
}

解释以上CSS代码的作用:

  • list-style: none;:去掉ul的默认样式,即圆点
  • padding: 0; margin: 0;:去除ul的内外边距,使菜单显示更整齐
  • display: inline-block;:让ul和li变成inline-block,方便水平排列
  • display: inline-block;:设置li为inline-block,让li水平排列
  • padding: 10px 20px;:设置li的内边距,让菜单内容看起来更舒适
  • border: 1px solid #ccc;:设置li的边框颜色为灰色
  • position: relative;:设置li的定位为相对
  • li:first-child {border-left: none;}:去掉第一个菜单项的左边框
  • li:last-child {border-right: none;}:去掉最后一个菜单项的右边框
  • li:hover {background-color: #ccc;color: #fff;}:当鼠标移动到菜单项上时,改变背景颜色和字体颜色
  • li:hover:before, li:hover:after {...}:当鼠标移动到菜单项上时,添加伪元素beforeafter,制作出多重边框的效果

接下来,我们提供两个实例,以帮助更好地理解这个过程:

  1. 两个仅使用border的边框重叠效果
<ul>
  <li>菜单1</li>
  <li>菜单2</li>
  <li>菜单3</li>
</ul>
ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-block;
}

li {
  display: inline-block;
  padding: 10px 20px;
  position: relative;
}

li:before, li:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
  top: -2px;
  left: -2px;
  z-index: -1;
}

li:before {
  border-right: none;
  border-bottom: none;
}

li:after {
  border-left: none;
  border-top: none;
}

li:hover {
  background-color: #ccc;
  color: #fff;
}
  1. 使用伪元素创建了多重边框效果和背景色变化
<ul>
  <li>菜单1</li>
  <li>菜单2</li>
  <li>菜单3</li>
</ul>
ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-block;
}

li {
  display: inline-block;
  padding: 10px 20px;
  border: 1px solid #ccc;
  position: relative;
}

li:first-child {
  border-left: none;
}

li:last-child {
  border-right: none;
}

li:hover {
  background-color: #ccc;
  color: #fff;
}

li:hover:before, li:hover:after {
  content: "";
  position: absolute;
  height: 0;
  width: 0;
  border-style: solid;
}

li:hover:before {
  left: -2px;
  top: -2px;
  border-width: 0 0 10px 10px;
  border-color: transparent transparent #ccc transparent;
}

li:hover:after {
  right: -2px;
  top: -2px;
  border-width: 0 10px 10px 0;
  border-color: transparent #ccc transparent transparent;
}

以上两个示例仅仅是实现的不同,并且使用的是不同的CSS代码,但思路都是相同的,因此我们可以从中学到如何使用ulli标签来创建菜单,同时使用CSS来实现边框重叠和鼠标移动效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用ul li实现边框重合并附带鼠标经过效果 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS中提升优先级属性!important的用法问题总结

    CSS中的!important优先级设定可以在需要重要属性时使用。!important可以覆盖任何其它样式声明。然而,滥用!important会导致维护上的极大问题,所以只有当必要的时候才应使用。 以下是!important属性的用法问题总结: 1. 何时使用!important 通常,在使用CSS时,我们使用层叠规则(Cascading Rules)将多个…

    css 2023年6月9日
    00
  • Django配置Bootstrap, js实现过程详解

    下面是关于Django配置Bootstrap和JS的实现过程的详细攻略。 步骤一:下载Bootstrap和jQuery库 首先,从Bootstrap官网(https://getbootstrap.com/),下载Bootstrap和jQuery库。下载完成后,将下载好的文件解压到项目的静态文件目录下。可以按照以下结构进行存放: your_project/ │…

    css 2023年6月9日
    00
  • 使用css创建一个优惠券的方法

    创建优惠券需要用到以下的CSS样式属性: background-color:设置优惠券的背景色。 color:设置优惠券文字的颜色。 border:设置优惠券的边框样式。 border-radius:设置优惠券的圆角弧度。 padding:设置优惠券内容的填充空间。 下面是具体的步骤: Step 1:结构化HTML代码 首先,我们需要写出HTML结构代码。这…

    css 2023年6月10日
    00
  • 关于CSS引入方式的详细见解小结

    关于CSS引入方式的详细见解小结,我可以为你做一个完整的攻略,具体步骤如下。 1. 分类 CSS引入方式可分为三种: 内联样式 内嵌样式 外部样式表 2. 详解 2.1 内联样式 内联样式是指将CSS代码直接写在HTML标签的style属性中,在标签内使用style属性即可。 示例: <p style="color:red;"&gt…

    css 2023年6月9日
    00
  • 详解CSS3选择器的使用方法汇总

    详解CSS3选择器的使用方法汇总 一、选择器概述 CSS选择器是一种用于选择页面上元素的方法,它的作用是帮助我们精准地选择到我们想要的元素,然后针对这些元素进行样式的设置。 CSS3选择器可以分为以下几种类型: 基本选择器 属性选择器 伪类选择器 伪元素选择器 结构性选择器 二、基本选择器 基本选择器指的是针对元素标签名、id、class等基础属性进行选择的…

    css 2023年6月9日
    00
  • js防止DIV布局滚动时闪动的解决方法

    现在,我将为大家分享一下JS防止DIV布局滚动时闪动的解决方法。当我们使用DIV布局实现网站页面时,往往会遇到滚动时页面布局出现闪动的情况。这种情况一般是因为浏览器的滚动条宽度不同导致的,下面我将为大家介绍两种不同的解决方法,具体如下: 方法一:使用CSS样式 1.在CSS文件中加入以下样式: html { overflow-y: scroll !impor…

    css 2023年6月10日
    00
  • CSS子元素选择父元素的实现

    CSS 子元素选择父元素的实现,其实就是通过 CSS 选择器来选择某个元素下面子元素中的某个标签,同时还要求这个子元素必须是其直接的子元素,而不是后代元素。 使用 CSS 子元素选择器可以非常方便地实现父元素和子元素之间的关系。下面,我会为大家提供两种实现方法示例。 方法一: “>” 子元素选择器 利用 “>” 子元素选择器,我们可以很方便地实现…

    css 2023年6月9日
    00
  • css3让div随鼠标移动而抖动起来

    下面是“CSS3让div随鼠标移动而抖动起来”的攻略: 1. 使用CSS3动画实现div随鼠标移动而抖动 CSS3动画是实现抖动效果的一种常用方式。具体的实现步骤如下: 1.1 定义样式和HTML结构 首先,我们需要定义一个style标签,用来存放CSS样式。在样式中,我们需要定义一个用来显示抖动效果的div元素,可以设置它的宽度、高度、边框、背景色等基本样…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部