带有透明边框的响应式箭头进度条

2024-06-26

我正在尝试构建一个进度条,如结帐中常见的那样。

问题是,箭头之间的边界是透明的,整个事情应该是反应灵敏。 到目前为止我已经明白了:

http://codepen.io/MrBamblele/pen/rVBeoz http://codepen.io/MrBambule/pen/rVBeoz

但我不知道如何让酒吧的项目跨越父容器的整个宽度(笔中的红色边框)并保持响应。
我想我可以用 JS 解决这个问题,但我宁愿有一个 CSS 解决方案。
非常感谢您的帮助。

HTML

<ul class="progress-nav">
  <li class="active">
    <span>1. FOO</span>
  </li>
  <li>
    <span>2. BAR</span>
  </li>
  <li>
    <span>3. BAZ</span>
  </li>
</ul>

CSS

$bar-color: rgba(255, 255, 255, 0.2);
$bar-active-color: rgba(255, 255, 255, 0.6);
$arrow-size: 22px;

body {
  background: linear-gradient(left, #803689, #5eb6e4);
}

.progress-nav {
  position: relative;
  font-size: 0;
  margin: 100px auto;
  width: 80%;
  max-width: 900px;

  // dummy border to display the width problem 
  border: 1px solid red;

  li {
    position: relative;
    color: #fff;
    font-size: 12px;
    display: inline-block;
    width: 20%;
    margin-right: 48px;
    list-style: none;
    background: $bar-color;
    padding: $arrow-size 0;

    transition: background .5s, color .5s;

    span {
      position: absolute;
      width: 100%;
      top: 50%;
      left: 50%;
      transform: translateX(-33px) translateY(-35%);
    }

    &:before,
    &:after {
      content: '';
      position: absolute;
      display: block;
      top: 0;

      transition: all .5s;
    }
    &:before {
      border: $arrow-size solid $bar-color;
      border-left-color: transparent;
      left: -$arrow-size*2;
    }
    &:after {
      border: $arrow-size solid transparent;
      border-left-color: $bar-color;
      right: -$arrow-size*2;
    }
    &:first-child:before {
      border: none;
      width: $arrow-size*2;
      height: $arrow-size*2;
      background: $bar-color;
      border-radius: 4px 0 0 4px;
    }
    &:last-child:after {
      border: none;
      right: -$arrow-size;
      width: $arrow-size;
      height: $arrow-size*2;
      background: $bar-color;
      border-radius: 0 4px 4px 0;
    }

    &.active,
    &:hover {
      background: $bar-active-color;
      color: #000;

      &:before {
        border-color: $bar-active-color;
        border-left-color: transparent;
      }
      &:after {
        border-left-color: $bar-active-color;
      }
      &:first-child:before,
      &:last-child:after {
        background: $bar-active-color;
      }
    }
  }
}

你可以使用类似的东西:

.wrap {
  width: 100%;
  height: 30px;
  z-index:-2;white-space: nowrap;
  overflow:hidden;
}
.wrap div:first-child{margin-left:-2%;}
.progress {
  margin:0;
  margin-left:0.5%;
  height: 30px;
  width: 25%;
  position: relative;
  display: inline-block;
  text-align: center;
  line-height: 30px;
  transition: all 0.8s;
}
.progress:before,
.progress:after {
  content: "";
  position: absolute;
  transition: all 0.8s;
  z-index:-1;
}
.progress:before {
  height: 50%;
  width: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.2);
  -webkit-transform: skew(45deg);
  -moz-transform: skew(45deg);
  transform: skew(45deg);
}
.progress:after {
  height: 50%;
  width: 100%;
  top: 50%;
  left: 0;
  background: rgba(0, 0, 0, 0.2);
  -webkit-transform: skew(-45deg);
  -moz-transform: skew(-45deg);
  transform: skew(-45deg);
}
.progress:hover:before,
.progress:hover:after {
  background: tomato;
}
<div class="wrap">
  <div class="progress">
    simple
  </div>
  <div class="progress">
    as
  </div>
  <div class="progress">
    complex
  </div>
  <div class="progress">
    Web Development
  </div>
</div>

它响应屏幕的宽度。

它利用transform:skew中间条的属性,以及两个远元素的小边框修改。这会产生如下所示的输出:

Result

NOTE

如果您动态创建这些(并希望它们全部位于同一行),那么您将需要更改第一个 css 规则中指定的宽度(当前设置为 23%)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有透明边框的响应式箭头进度条 的相关文章

  • 如何在不使用 Flexbox 的情况下水平对齐元素?

    有没有一种方法可以在不使用的情况下将 Web 组件彼此相邻对齐Flexbox 我知道它是一个很棒的工具 但不幸的是它不适用于 IE 9 或 10 我希望链接内的文本显示在图像旁边 JSFiddle 显示了工作代码 但是使用 FlexBox
  • LESS:使用 Bootstrap 时出现无法识别的输入错误

    升级 Harp 后 我开始得到无法识别的输入不相关的 CSS 行中出现错误 Less gt CSS 无法识别的输入 Users jorge Dropbox harp io apps mysite com public css main le
  • Firefox 在构建页面时使白色“闪烁”

    我一直致力于构建一个带有 Flash 幻灯片组件的网站 但我有点困惑 当我在 Firefox 3 6 8 中查看该页面时 它似乎首先下载该页面的内容 并在下载幻灯片时发出白色 闪烁 但是当我在 Safari 中查看页面时 它似乎首先构建页面
  • UIWebview JS 性能比 iOS 6/7 上的移动 safari 慢吗?

    我们最近使用 iOS 应用程序中的大量 JavaScript 库测试了一些 HTML5 内容 该应用程序旨在在 UIWebview 中加载这些内容 本次测试使用了 iOS 6 我的团队没有观察到移动 Safari 浏览器出现任何明显的性能问
  • 使用 jQuery 禁用 CSS 继承

    有没有办法使用 jQuery 或通用 javascript 在块级别禁用 CSS 继承 例如 如果我通过 javascript 拉入外部资源 例如 Pastie org 它们将拥有自己的 CSS 而我的 CSS 会覆盖它们 我想将嵌入代码放
  • 克隆表行

    我怎样才能使用javascript 我假设 来克隆一个表格行 就像下图所示的那样 您可以将现场活动连接到所有按钮 例如 如果您给他们一类克隆 则以下内容将起作用 input clone live click function put jqu
  • Javascript 字符串/整数比较

    我在 HTML 中存储一些客户端参数 然后需要将它们作为整数进行比较 不幸的是我遇到了一个我无法解释的严重错误 该错误似乎是我的 JS 将参数读取为字符串而不是整数 导致我的整数比较失败 我生成了一个错误的小例子 我也无法解释 运行时以下返
  • 强制浏览器打开文件而不是提示下载

    在 Firefox 和 Chrome 中单击 PDF 链接时 有时会打开该文件以在浏览器中查看 有时会提示 另存为 对话框 如果我想强制链接始终提示下载 我可以使用downloadHTML5 属性 然而 我想做相反的事情 IE 强制链接始终
  • 在java中将HTML转换为RTF?

    我需要将 HTML 转换为 RTF 我正在使用以下代码 private static String convertToRTF String htmlStr OutputStream os new ByteArrayOutputStream
  • 通过标记或JS强制下载

    假设我在 CDN 来自 Rackspace 的云文件 上有一个文件 以及一个包含该文件链接的静态 html 页面 有什么方法可以强制下载此文件 以防止它在浏览器中打开 例如 mp3 我们可以让我们的服务器读取该文件并将相应的标头设置为 he
  • html/js 中从右到左和/或从上到下的文本?

    如何在浏览器中为用户输入创建从右到左和从上到下的文本字段 有没有本地方法可以做到这一点 或者也许有解决方法 从上到下可能像日语或象形文字 对于 RTL 文本字段 您可以使用 HTMLdir属性 如 ime Vidas 已经提到的 或 wit
  • 如何在 dash/plotly 中使用 iframe? (Python/HTML)

    我正在创建一个仪表板 我想使用这个交互式地图 网站链接 https www ons gov uk peoplepopulationandcommunity healthandsocialcare causesofdeath articles
  • PHP、MySQL 验证故障且搜索不起作用?

    我创建了一个小的注册粘性表格 一切工作正常 但如果我输入任何错误的值 例如姓名中的数字 年龄中的字母甚至错误的电子邮件格式 那么数据仍然保存在数据库中 我无法找出验证问题 另外一个是搜索选项 每当我在搜索框中输入任何名字或姓氏时 它都应该显
  • 设置三个输入数字的最大值

    我有三个输入数字
  • 在 Bootstrap 选择器上使用 jQuery 取消选择选项

    我对一些 UI 元素使用 Bootstrap SelectPicker 它允许用户选择多个选项并将其呈现在段落标签中的屏幕上 他们还应该能够删除选定的选项 这是我的代码 用于将选定的选项渲染到屏幕上 以便每个选项旁边都会显示一个 X 单击它
  • JQuery mouseover 函数多次触发

    我很长时间以来一直使用这种方法来为整个类 按钮等 设置事件 div bigButton mouseover function this style backgroundColor dfdfdf 然而 在进行一些测试时 我刚刚注意到 当将鼠标
  • css bootstrap 下拉菜单在 IE 中看起来不同

    我正在使用CSS引导程序3 2 0 http getbootstrap com css 然而 当在 IE 中查看该网站时 菜单选项周围有一个黑色边框 而且下拉菜单按钮看起来也有所不同 如果您查看该网站http getbootstrap co
  • 如何在网页上显示进度条直到网页完全加载?

    我想在网页中显示进度条 加载弹出窗口 直到页面完全加载 我的网页很重 因为它包含一个 HTML 编辑器 这是一个基于 jQuery 的 HTML 编辑器 需要很多时间才能完全加载 在加载时 我希望在页面上显示一个进度条 该进度条将在整个页面
  • Android:Html 锚链接仅在 Web 视图中有效一次

    在使用锚链接加载 html 内容时 我在 webview 中遇到一些奇怪的问题 以下代码非常适合锚标记 但是只有一次 第二次当我按下锚标签时不工作 protected void onCreate Bundle savedInstanceSt
  • 如何在流体宽度表中使用省略号而不使每列大小相同?

    假设我的表中的列是id name description and phone The description列的长度为 1 255 个字符 但 id 最多只有 3 个字符 我希望列的大小适当 而不是每列的大小相同 我想要descriptio

随机推荐

  • JS - 文件读取器 API 获取图像文件大小和尺寸

    您好 我正在使用以下代码来使用文件读取器 API 获取上传图像
  • 如何在 Quill(富文本编辑器)中检测和修剪前导/尾随空格?

    如何检测并删除前导 尾随空格Quill https quilljs com 哪个是富文本编辑器 例如 样本HTML下面代表Quill文本的输出 nHi 我们想要检测并删除由以下命令创建的每个文本块的前导和尾随空格Quill 不适用于整个文档
  • 如何制作像 Twitter 一样带有字符限制突出显示的文本区域?

    Twitter 的提交推文文本框会突出显示超出字符限制的字符 如您所见 超出字符限制的字符以红色突出显示 我怎样才能实现这样的目标 您将在这里找到必要的解决方案和所需的代码 超过 140 限制 即变为负数 时如何插入 标签 https st
  • 访问 2010 DLookUp

    第一次使用 MS Access 遇到了一些问题 如果有人可以指出我正确的方向 所以我正在做一个模拟数据库 所以它看起来很傻 只是为了了解细节 目前需要一些有关 DLookUp 的帮助 我的数据库有两个表 具有以下字段 C ID课程PK 学生
  • 预期在模拟中调用一次,但使用 Moq 时调用次数为 0 次

    我收到错误 在mock上调用一次 但是0次 下面是我的代码结构 public class GenerateAddress IGenerateAddress public GenerateAddress IAddress createAdd
  • 使用 MongoDB PHP 驱动程序时的安全问题

    我有在 MYSQL 上保护 sql 注入的经验 但是在使用 php 驱动程序的 MongoDB 上我应该注意什么 在大多数页面中 我通过 GET POST 和搜索 插入系统获取数据 我通过 UDID 其他字段进行搜索 并且可以插入任何字符串
  • 在android上获取电池温度

    android 如何获取电池的温度 http developer android com reference android os BatteryManager html http developer android com referen
  • 如何使用 CMake 链接多个库

    我有一些与 DCMTK 相关的代码 如果我从命令行使用 g 我可以成功构建并运行它 这是代码 include dcmtk config osconfig h include dcmtk dcmdata dctk h int main Dcm
  • 基于 .NET 4 构建的 MEF 应用程序是否可以导入针对 .NET 3.5 构建的类型?

    我正在使用托管扩展性框架开发一个主机应用程序 它是针对 NET 4 和框架中内置的 System ComponentModel Composition 程序集构建的 我希望支持使用 NET 3 5 开发部件并以声明方式导出它们的能力 由于导
  • 无法保存自定义子类模型

    灵感来自tf keras Model 子类化 https www tensorflow org guide keras model subclassing我创建了自定义模型 我可以训练它并获得成功的结果 但是我无法保存它 我使用 pytho
  • 减少最大值并保存其索引

    int v 10 2 9 1 3 5 7 1 2 0 0 int maximo 0 int b 0 int i pragma omp parallel for shared v private i reduction max maximo
  • 具有 Nhibernate 设计问题的领域模型

    我正在尝试进入 DDD with C 世界 我使用NHibernate作为我的ORM工具 因此尝试开发一个PI Persistence Ignorance 模型 但是 在我的一些实体 表示为 POCOS 中 我的属性设置器中有业务规则 例如
  • 为 PDF 输出添加 natbib 选项

    有没有办法指定natibib输出 PDF 时的选项bookdown 我希望 tex 输出具有命令 usepackage sort compress natbib 但似乎没有任何方法可以在 YAML 中指定它 我无法将命令添加到我的序言中 因
  • 从 Python 执行 PowerShell 脚本的最佳方式是什么

    之前关于该主题的所有帖子都涉及其用例的具体挑战 我认为 如果有一篇文章只讨论从 Python 运行 PowerShell 脚本的最简洁方法 并询问是否有人有比我发现的更好的解决方案 那将会很有用 绕过 PowerShell 尝试以与预期不同
  • 如何在 ASP.NET 中动态添加文本框?

    我对我的 asp net 页面有以下要求 用户可以通过单击 添加新类别 超链接在页面 A 上动态添加文本框 他点击页面 A 上的提交按钮并被重定向到页面 B 当他单击此页面中的页面 A 链接时 他添加的文本框应该保留 有人可以帮我解决这个问
  • 类型错误:app.makeSingleInstance 不是函数

    从 Electron v2 0 3 升级到最新版本 v5 0 1 当我尝试运行电子时 出现以下错误 TypeError app makeSingleInstance is not a function 我相信这是因为 api 已经改变了 我
  • 如何将 VectorDrawable 与 Android 工具栏一起使用?

    在工具栏中使用新的 VectorDrawable 的正确方法是什么 我尝试使用app srcCompat元素如下图所示 但没有任何显示 menu menu
  • 如何退出 Haxe/OpenFL 程序?

    我正在使用 Haxe OpenFL 以前的 NME 和 HaxeFlixel 制作游戏 然而 问题是 我似乎找不到一个好方法来制作一个按下时会关闭游戏的 Flixel 按钮 我打算在主菜单上制作一个 退出 按钮 有什么简单的方法可以做到这一
  • jqGrid 3.4 中的自定义数据工具提示

    我一直在使用优秀的 jqGrid 插件 它运行得很好 不过最近 我被要求为网格实现一些自定义工具提示 现在文档 http www secondpersonplural ca jqgriddocs index htm非常彻底 但它没有解决如何
  • 带有透明边框的响应式箭头进度条

    我正在尝试构建一个进度条 如结帐中常见的那样 问题是 箭头之间的边界是透明的 整个事情应该是反应灵敏 到目前为止我已经明白了 http codepen io MrBamblele pen rVBeoz http codepen io MrB