用纯CSS实现镂空效果的示例代码

下面是“用纯CSS实现镂空效果的示例代码”的完整攻略。

什么是镂空效果?

镂空效果即在元素中间空缺一块区域,使其呈现“空心”的效果。通常应用于图标、按钮等设计元素中。

实现方法

实现镂空效果有多种方法,其中一种是使用CSS的:before:after伪元素,再设置背景为透明,并在伪元素上覆盖一个实心的图形,就可以让原始元素呈现空心状态。

示例1:矩形按钮的镂空效果

HTML代码:

<button class="hollow-btn">Click me</button>

CSS代码:

.hollow-btn {
  position: relative;
  padding: 10px 20px;
  border: none;
  background: transparent;
  text-transform: uppercase;
}

.hollow-btn:before {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  height: calc(100% + 6px);
  width: calc(100% + 6px);
  background: #fff;
  z-index: -1;
}

.hollow-btn:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #fff;
  z-index: -1;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease-out;
}

.hollow-btn:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}

该代码实现了一个矩形按钮的镂空效果,当鼠标悬停在按钮上时,原先空心状态的按钮会填充变成实心状态。

示例2:圆形图标的镂空效果

HTML代码:

<a class="hollow-icon" href="#"></a>

CSS代码:

.hollow-icon {
  position: relative;
  display: inline-block;
  height: 40px;
  width: 40px;
  border-radius: 100%;
  background: transparent;
}

.hollow-icon:before {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  height: calc(100% + 6px);
  width: calc(100% + 6px);
  border-radius: 100%;
  border: 2px solid #fff;
  z-index: -1;
}

.hollow-icon:after {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  height: calc(100% - 10px);
  width: calc(100% - 10px);
  border-radius: 100%;
  border: 2px solid #fff;
  z-index: -1;
  transition: border-color 0.3s ease-out;
}

.hollow-icon:hover:after {
  border-color: red;
}

该代码实现了一个圆形图标的镂空效果,当鼠标悬停在图标上时,原先空心状态的图标会被一个红色的实心圆覆盖。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用纯CSS实现镂空效果的示例代码 - Python技术站

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

相关文章

  • div可以输入内容不用input作为输入框屏蔽自动的input样式

    可以使用contenteditable属性使div元素可以输入内容,而且不会有input类型输入框的默认样式。下面是实现的步骤及示例说明: 创建一个div元素,并添加contenteditable属性 <div contenteditable></div> 设置div的样式以样式化输入框 div { width: 200px; hei…

    css 2023年6月10日
    00
  • CSS3 滤镜 webkit-filter详细介绍及使用方法

    CSS3 滤镜 webkit-filter详细介绍及使用方法 什么是CSS3滤镜 CSS3滤镜功能可以使元素在渲染前或渲染后对内容进行图形效果处理,从而增强网页设计的创意性和美观性,提高用户体验。滤镜可以通过修改元素的外观,改变其色彩,模糊程度和透视感,又称显式滤镜。CSS3中提供了很多种滤镜效果,其中webkit-filter是其中之一。 webkit-f…

    css 2023年6月10日
    00
  • JavaScript实现旋转木马轮播图

    实现轮播图的方法有很多种,其中较为流行的一种是旋转木马式的轮播图。在JavaScript中实现旋转木马式轮播图,主要通过以下步骤来实现: 1. HTML结构 首先需要构建页面的HTML结构。HTML结构应该包括一个容器盒子以及多个图片轮播组件。 <div class="carousel-container"> <div …

    css 2023年6月10日
    00
  • CSS几步实现赛博朋克2077风格视觉效果

    下面是详细讲解“CSS几步实现赛博朋克2077风格视觉效果”的完整攻略: 一、准备工作 在实现赛博朋克2077风格的视觉效果之前,我们需要做一些准备工作: 在HTML文档中引入CSS文件。 html <link rel=”stylesheet” href=”style.css”> 添加一些示例内容,便于我们观察效果。 html <div c…

    css 2023年6月9日
    00
  • CSS命名规则和命名方法

    当我们为一个网页添加样式时,必须为元素选择器或者类添加对应的样式,为了使代码更加具有可读性和可维护性,我们需要遵循一定的CSS命名规则和命名方法。 以下是CSS命名规则的攻略: CSS命名规则 1. 命名中只能使用字母、数字和短横线 在CSS选择器中,只能使用字母、数字和短横线,不能使用空格、下划线、点号等特殊字符。 2. 必须以字母开头 在命名Class或…

    css 2023年6月10日
    00
  • 基于jQuery实现的菜单切换效果

    下面是关于”基于jQuery实现的菜单切换效果”的详细攻略: 构建菜单 首先需要构建一个菜单的页面结构,通常使用HTML语言实现。比如以下例子: <div class="menu"> <ul> <li><a href="#" data-target=".page1&q…

    css 2023年6月11日
    00
  • CSS视差滚动效果

    下面是针对“CSS视差滚动效果”的完整攻略: 什么是CSS视差滚动效果 CSS视差滚动效果是指在网页滚动的过程中,不同元素以不同的速度滚动而形成多层次的视觉差异效果。这种效果可以使网页看起来更加动态和立体,并且可以提高网页的视觉吸引力和用户体验。 如何实现CSS视差滚动效果 步骤一:创建多个背景图层 为了创建CSS视差滚动效果,我们需要创建多个背景图层来实现…

    css 2023年6月10日
    00
  • Vue transition过渡组件详解

    Vue transition过渡组件详解 Vue提供了过渡组件<transition>和<transition-group>,用于在元素插入或移出页面中时添加过渡效果。<transition>用于单个元素,<transition-group>用于多个相同类型的元素。这篇文章将详细讲解如何使用这两个组件,以及一些…

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