仅使用 CSS 切换手风琴字形图标

2024-04-25

嗯,我有一个手风琴菜单,我想更改字形图标,我找到了一些询问同样问题的人的答案,但我发现没有答案适用于我的。可能是因为我不知道在哪里应用代码。

我在 Jsfiddle 中的菜单:

http://jsfiddle.net/3wt0ehcj/ http://jsfiddle.net/3wt0ehcj/

我尝试输入的字形图标:

https://codepen.io/tofanelli/pen/waadRY https://codepen.io/tofanelli/pen/waadRY

我需要放在某处的代码:

.panel-heading .accordion-toggle:after {
    /* symbol for "opening" panels */
    font-family: 'Glyphicons Halflings';  /* essential for enabling glyphicon */
    content: "\e114";    /* adjust as needed, taken from bootstrap.css */
    float: right;        /* adjust as needed */
    color: grey;         /* adjust as needed */
}
.panel-heading .accordion-toggle.collapsed:after {
    /* symbol for "collapsed" panels */
    content: "\e080";    /* adjust as needed, taken from bootstrap.css */
}

如果有其他或更简单的方法,我洗耳恭听! :)


您可以使用以下方法解决此问题:not(checked) and checkedCSS 伪类。

  1. not() https://developer.mozilla.org/en-US/docs/Web/CSS/:not
  2. checked https://developer.mozilla.org/en-US/docs/Web/CSS/:checked

删除这部分

.accordion-bral input:checked ~ .ac-label i:before {
  transform: translate(2px, 0) rotate(-45deg);

}
.accordion-bral input:checked ~ .ac-label i:after {
  transform: translate(-2px, 0) rotate(45deg);
}
.accordion-bral i:before, .accordion-bral i:after {
  content: "";
  position: absolute;
  background-color: #808080;
  width: 3px;
  height: 9px;
}
.accordion-bral i:before {
  transform: translate(-2px, 0) rotate(-45deg);
}
.accordion-bral i:after {
  transform: translate(2px, 0) rotate(45deg);
}

Use the glyphicon源代码 https://stackoverflow.com/questions/18222849/bootstrap-3-glyphicons-cdn然后使用此代码。

   /* when input is checked */
.accordion-bral input:checked ~ .ac-label i:after {
   content: "\e114" 
}

/* when input is not checked */
.accordion-bral input:not(checked) ~ .ac-label i:after {
   content: "\e080"; 
}
.accordion-bral i:after {
  font-style: normal;  /* change font style too */
  font-family: 'Glyphicons Halflings';  /* essential for enabling glyphicon */
  content: "\e114";    /* adjust as needed, taken from bootstrap.css */
  float: right;        /* adjust as needed */
  color: grey;  
}
This is the working fiddle

http://jsfiddle.net/7zsbumax/2/ http://jsfiddle.net/7zsbumax/2/


.accordion-bral {
  min-height: 0;
  min-width: 220px;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  margin: 0px!important;
}

.accordion-bral .ac-label {
  font-family: Arial, sans-serif;
  padding: 5px 20px;
  position: relative;
  display: block;
  height: auto;
  cursor: pointer;
  color: #777;
  line-height: 33px;
  font-size: 19px;
  background: #EFEFEF;
  border: 1px solid #CCC;
}

.accordion-bral .ac-label:hover {
  background: #b70000;
  color: white;
}

.accordion-bral input+.ac-label {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.accordion-bral input:checked+.ac-label,
.accordion-bral input:checked+.ac-label:active {
  background-color: #b70000;
  color: #FFF;
  box-shadow: 0px 0px 0px 1px rgba(155, 155, 155, 0.3), 0px 2px 2px rgba(0, 0, 0, 0.1);
}

.accordion-bral input.ac-input {
  display: none;
}

.accordion-bral .article {
  background: white;
  overflow: hidden;
  height: 20px;
  max-height: auto;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.accordion-bral .article p {
  color: #777;
  line-height: 23px;
  font-size: 14px;
  padding: 20px;
}

.accordion-bral input:checked~.article i {
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.accordion-bral input:checked~.article.ac-content {
  height: auto;
}

.accordion-bral i {
  text-decoration: none;
  margin-top: 16px;
  right: 0;
}

.accordion-bral input:checked~.ac-label i:after {
  content: "\e114"
}

.accordion-bral input:not(checked)~.ac-label i:after {
  content: "\e080";
}

.accordion-bral i:after {
  font-style: normal;
  font-family: 'Glyphicons Halflings';
  /* essential for enabling glyphicon */
  content: "\e114";
  /* adjust as needed, taken from bootstrap.css */
  float: right;
  /* adjust as needed */
  color: grey;
}

ul.ac-list {
  padding-left: 40px;
  list-style-type: disc;
}

table.ac-table {
  margin: 20px 0 20px 20px;
}

table.ac-table th {
  text-align: left;
}

@media (max-width: 550px) {
  .accordion-bral .ac-label {
    font-family: Arial, sans-serif;
    padding: 5px 20px;
    position: relative;
    display: block;
    height: auto;
    padding-right: 40px;
    cursor: pointer;
    color: #777;
    line-height: 33px;
    font-size: 19px;
    background: #EFEFEF;
    border: 1px solid #CCC;
  }
  .accordion-bral i {
    position: absolute;
    transform: translate(-30px, 0);
    margin-top: 2%;
    right: 0;
  }
}
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">


<div class="accordion-bral">

  <div>
    <!-- accordion item 1 -- start -->
    <input class="ac-input" id="ac-1" name="accordion-1" type="checkbox" checked/>
    <label class="ac-label" for="ac-1">HTML and CSS only<i></i></label>
    <div class="article ac-content">
      <h1 style="position: absolute; margin-left:10px;color:#b70000;">HOUTSOORT</h1>

      <div class="flex-container">
        <div class="card">
          <img src="maxopdracht2/eiken-vloer.jpg" style="width:100%">
          <div>
            <input id="checkbox-1" class="checkbox-custom" style="" name="checkbox-1" type="checkbox">
            <label for="checkbox-1" class="checkbox-custom-label">Eiken</label>
          </div>
        </div>
        <div class="card">
          <img src="maxopdracht2/beuken-vloer.jpg" style="width:100%">
          <div>
            <input id="checkbox-1" class="checkbox-custom" style="" name="checkbox-1" type="checkbox">
            <label for="checkbox-1" class="checkbox-custom-label">Beuken</label>
          </div>
        </div>
        <div class="card">
          <img src="maxopdracht2/grenen-vloer.jpg" style="width:100%">
          <div>
            <input id="checkbox-1" class="checkbox-custom" style="" name="checkbox-1" type="checkbox">
            <label for="checkbox-1" class="checkbox-custom-label">Grenen</label>
          </div>
        </div>
        <div class="card">
          <img src="maxopdracht2/maple-vloer.jpg" style="width:100%">
          <div>
            <input id="checkbox-1" class="checkbox-custom" style="" name="checkbox-1" type="checkbox">
            <label for="checkbox-1" class="checkbox-custom-label">Maple</label>
          </div>
        </div>
        <div class="card">
          <img src="maxopdracht2/merbau-vloer.jpg" style="width:100%">
          <div>
            <input id="checkbox-1" class="checkbox-custom" style="" name="checkbox-1" type="checkbox">
            <label for="checkbox-1" class="checkbox-custom-label">Merbau</label>
          </div>
        </div>
        <div class="card">
          <img src="maxopdracht2/onbekend-vloer.jpg" style="width:100%">
          <div>
            <input id="checkbox-1" class="checkbox-custom" style="" name="checkbox-1" type="checkbox">
            <label for="checkbox-1" class="checkbox-custom-label">Overig/onbekend</label>
          </div>
        </div>

      </div>
    </div>
  </div>
  <!-- accordion item 1 -- end -->

  <div>
    <!-- accordion item 2 -- start -->
    <input class="ac-input" id="ac-2" name="accordion-1" type="checkbox" />
    <label class="ac-label" for="ac-2">responsive accordion<i></i></label>
    <div class="article ac-content">

    </div>
  </div>
  <!-- accordion item 2 -- end -->

  <div>
    <!-- accordion item 3 -- start -->
    <input class="ac-input" id="ac-3" name="accordion-1" type="checkbox" />
    <label class="ac-label" for="ac-3">Divs to divide your things up<i></i></label>
    <div class="article ac-content">

    </div>
  </div>
  <!-- accordion item 3 -- end -->

  <div>
    <!-- accordion item 4 -- start -->
    <input class="ac-input" id="ac-4" name="accordion-1" type="checkbox" />
    <label class="ac-label" for="ac-4">Forms are cool<i></i></label>
    <div class="article ac-content">

    </div>
  </div>
</div>

Update

如果你想要一点动画,请使用这个:

.accordion-bral input:checked ~ .ac-label i:after {
  /*  transform: rotate(90deg); */
  transform: rotate(-270deg);
}

.accordion-bral i:after {
  content: "\e080"; 
  font-style: normal;
  font-family: 'Glyphicons Halflings';  /* essential for enabling glyphicon */
  float: right;        /* adjust as needed */
  color: grey;  
  transition: 1s ease-out;
}

http://jsfiddle.net/2eLb3ju7/ http://jsfiddle.net/2eLb3ju7/

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

仅使用 CSS 切换手风琴字形图标 的相关文章

  • 将 css 背景设置为本地存储中的图像

    我希望将 base64 格式的图像存储在密钥中的本地存储中ImgStorage在CSS背景中像这样 data image png base64 iVBORw0KGgoAAAANS 到目前为止 我尝试了两种方法 1 从存储加载并放入css标签
  • 如何防止在 CSS 中调整图像大小?

    我有以下代码来创建图像库 他们需要做出反应 但问题是 当窗口宽度发生变化时 图像也会调整大小并失去纵横比 我怎样才能解决这个问题 我是 CSS 新手 padding 0 margin 0 HEADER STYLES header width
  • 在 CSS 规则中重复类名是否会增加其优先级?

    假设我有一个 div li class menu item li 有人可以告诉我是否可以使用li menu item menu item menu item 使这个CSS规则具有更高的优先级 Update 下面是说明这一点的代码 ul li
  • 使用lxml解析HTML时如何保留名称空间信息?

    gt gt gt from lxml etree import HTML tostring gt gt gt tostring HTML
  • 有聚合物模板的印章活动吗?

    我试图在每次标记其内容时将输入元素聚焦在聚合物模板内 问题是在模板加载之前我无法选择输入元素 目前 我只是使用 setTimeout 在模板加载后 100 毫秒集中输入 但我想知道是否有更优雅的解决方案 此外 自动对焦属性不起作用 因为模板
  • 如何为 HTML 中的文件输入设置值?

    我该如何设置这个值
  • 弹性项目的等高子项

    我在创建 Flexbox 响应式网格时遇到问题 希望有人能给我指出正确的方向 我想要所有的 blockdiv 的高度相等 并且 bottomdiv 绝对定位到底部 这实际上在当前的解决方案中有效 但是当 的时候h2标题太长 达到了2行 我想
  • Flask 无法播放 html 中的视频

    我有一个 Flask 应用程序 应该在加载页面时播放视频 但它只显示在左上角 并且不会从视频的第一帧开始改变 我已经尝试将其插入 html 代码但它不起作用 extends base html block content
  • 将 PhotoSwipe 配置为不使用整个窗口?

    我目前正在尝试使用构建移动图片库照片滑动 http photoswipe com 我已经能够让它工作了 但有一个小问题 当我 单击照片缩略图 实际照片总是占据整个 视口 当您在移动设备上查看图库时 这是可以的 但是 如果您的视口是计算机屏幕
  • 如何在没有 Web 服务器的情况下运行 ajax 代码?

    我在系统上没有服务器的情况下运行ajax 我用它创建了一个index html JavaScript 函数 function do the click url alert inside this method do the click aj
  • 如何修复错误嵌套/未闭合的 HTML 标签?

    我需要通过使用正确的嵌套顺序关闭任何打开的标签来清理用户提交的 HTML 我一直在寻找一种算法或Python代码来做到这一点 但除了PHP等中的一些半生不熟的实现之外 还没有找到任何东西 例如 类似的东西 p p ul li Foo bec
  • 如何在 jQuery 中获取会话中的值

    我是 jQuery 的初学者 我想在 HTML 页面中设置值 并且必须在另一个 HTML 页面中获取它们 这是我现在正在尝试的代码片段 要在会话中设置值 session set userName uname val 要从会话中获取值 ses
  • 将背景图像保留在底部

    我一直在研究将图像保留在底部页面的解决方案 我目前得到的代码是 footer background image url images footer png background repeat repeat x position absolu
  • 如何按高度对 DIV 进行排序?

    我有三个divs 我想按高度从最大到最小对它们进行排序 div smallest div div largest div div middle div 任何想法 这很简单 使用 sort http www wrichards com blo
  • 如何使用CSS使整个div在悬停时改变颜色?

    我有以下内容 div class sidebar nav span2 div class sidebar link span Link 1 span div div class sidebar link span Link 2 span d
  • 仅使用 url 嵌入视频

    给定一个 youtube url 我如何使用 net c 将视频嵌入到页面中 只需添加如下一行 将 autoplay 设置为 0 或 1 取决于您是否希望人们真正留在您的页面上
  • 计算 DIV 元素的最大/最小高度

    问题 给定一个具有固定高度的 DIV 元素 其中包含未知数量的子元素 这些子元素的大小相对于其高度 计算 DIV 可以调整大小的最大 最小高度 而不违反其子元素的任何最大 最小值元素 Example求 DIV A 的最大 最小高度 Answ
  • 如何使用ajax从服务器接收返回的数据?

    基本上我有一个带有用户名文本框和提交按钮的表单 现在我想要的是 当用户在文本框中输入文本时 它应该获取文本框值并将用户名发送到服务器 以便服务器可以检查该用户名是否被任何其他用户占用 我可以将文本值发送到服务器 但我不知道如何接收回一些数据
  • 是否可以使 font-weight:bold 等于 500 而不是 700?

    我刚刚使用 Google Fonts 并发现了 Fira Sans 字体 很好 但我不喜欢 Bold 700 风格 它太大胆了 不符合我的喜好 但是 如果我选择中 500 样式 浏览器不会将其用于任何设置为font weight bold
  • 双向 CSS 高度动画

    keyframes mgm from max height 250px to max height 0px mgm width 180px border 1px solid black padding 10px animation mgm

随机推荐

  • this.props.history.push("/") 没有将我重定向到主页

    我正在尝试将此登录页面重定向到主页 但出于某种原因this props history push 没有重定向它 我有一个handleSubmit它应该在我按下登录按钮后运行 我不太确定发生了什么事 按登录按钮运行handleSubmit但是
  • 使用 casperjs 测试损坏的 html

    我试图在运行一些 CasperJs 浏览器测试之前运行一些设置例程 有一次我无法填写表单数据 因为有一些错误的 HTML 表单标签在表格中错误放置 table table
  • 内部接口?

    我对 Java 很陌生 我不明白这个结构是什么 我知道什么是接口以及如何定义 但在这种情况下 我真的不知道 你能说说是关于什么的吗 public interface WebConstants public interface Framewo
  • 在 Java 中实现常量的最佳方式是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动
  • 如何列出我在 Team Foundation Server 中签入的所有文件?

    我怎样才能列出最后一个x我签入到 TFS 的文件 Using the TFS PS Snapin included with the TFS PowerToys1 Get TfsItemHistory recurse stop 50 use
  • 在 mysql 中搜索带变音符号的阿拉伯语

    所以我有一个巨大的带有变音符号的阿拉伯语书面文本数据库 变音符号是阿拉伯语中附加到其他字符的小字符 例如 带变音符号 不带变音符号 我正在使用 mysql 和 laravel 在文本中搜索没有变音符号的特定单词 如何忽略搜索中的变音符号 看
  • Django:时区问题

    注意 我删除了之前存在的问题 并在此处仅提供相关信息 我们的数据库服务器 RH 指定了 TIME ZONE Europe London 并且 在 Django settings py 中 我们指定 TIME ZONE America New
  • MySQLi PHP:使用 MySQLi 检查 SQL INSERT 查询是否完全成功

    我有一个大函数 可以获取大量不同的数据并将其插入到多个表中 并非所有数据始终可用 因此并非所有 SQL INSERT 查询都会成功 我需要检查哪个 SQL INSERT 查询完全成功 哪个 SQL INSERT 查询没有对这些数据执行某些操
  • 从打字稿和 Angular 中的 Observable 获取字符串值

    我想从 Observable 获取字符串值并将该值从函数返回给调用者函数 例如 我有一组键 想一一获取所有键的值 字符串 并将其显示在具有菜单栏的 html 组件中 这是 ts 文件 key list component ts public
  • 优选的标签云可视化格式

    出于好奇 我很想知道什么标签云格式最适合发现越来越多 相关 内容的目的 我知道 3 种格式 但不知道哪一种最好 1 好吃的一个 http delicious com tag 颜色渐晕 2 The 标准一 http stephenslight
  • 重写 PHP 中的静态方法

    我有一个抽象页面类 如下所示 abstract class Page public static function display self displayHeader self displayContent self displayFoo
  • Puppeteer 页脚仅显示在最后一页

    我的 Puppeteer 的 footerTemplate 参数有问题 页脚仅显示在文档的最后一页 我希望它显示在文档的每一页上 嗯 页脚 也许我没有正确使用参数 这是我的 Puppeteer pdf 生成 const browser aw
  • Android O 设备中未出现 Google Smart Lock 对话框

    我最近将 GoogleSmartLock 与我的应用程序集成 不知何故 Android O 设备中没有出现保存对话框 并且 API 抛出以下错误 凭证 API 的保存确认对话框已被禁用 避免与 Android 自动填充功能发生冲突 这个选择
  • 删除列值 < 0 的 Pandas DataFrame 行

    我已经阅读了答案this https stackoverflow com questions 18172851 deleting dataframe row in pandas based on column value线程 但它没有回答我
  • 想了解 Windows 剪贴板内部结构

    我有兴趣学习 Windows 系统内部结构及其工作原理 我倾向于学习windows上的系统编程 在这种背景下 我很想知道有关 Windows 剪贴板内部功能的一些事情 当我们选择一些文本 图像等并按下时会发生什么 Ctrl C 当我们在不同
  • /system/lib/libart.so 中的本机崩溃

    我在 Play 商店中有一个应用程序 它有一个IntentService当应用程序启动时 它会做一些工作 并且会导致 Android 5 0 上的本机崩溃 该服务仅扫描资产文件夹以进行应用程序更新 具体来说 这次崩溃似乎发生在升级到 Lol
  • 地形破坏后保留资源

    我想在关闭使用 terraform 创建的一堆资源 包括 CloudWatch 日志组 后保留 CloudWatch 日志 有没有办法告诉terraform destroy节省一些资源 我想我可以在调用 destroy 之前手动从 tfst
  • 如何使用 Azure Active Directory Graph API 获取属于 AppRole 的所有用户

    我一生都无法弄清楚如何查询 Azure Active Directory 的图形 API 来获取属于特定 AppRole 的所有用户 首先我尝试了类似的东西 client Users Where u gt u AppRoleAssignme
  • 如何防范资源耗尽等漏洞?

    我们碰巧使用IBM appscanhttp www 01 ibm com software awdtools appscan http www 01 ibm com software awdtools appscan 针对我们的 java
  • 仅使用 CSS 切换手风琴字形图标

    嗯 我有一个手风琴菜单 我想更改字形图标 我找到了一些询问同样问题的人的答案 但我发现没有答案适用于我的 可能是因为我不知道在哪里应用代码 我在 Jsfiddle 中的菜单 http jsfiddle net 3wt0ehcj http j