美文网首页
伪元素踩坑

伪元素踩坑

作者: 芒果加奶 | 来源:发表于2017-06-02 18:52 被阅读0次

项目中改bug时发现的伪元素的坑。


谷歌下效果 火狐下效果
一开始以为是border-radius在火狐中需要前缀-moz-border-radius实际测试时发现火狐是可以支持border-radius的,于是我就有点搞不懂了,在浏览器上查了半天。
火狐下伪元素样式
突然发现在火狐下伪元素并没有实际生效,又寻找了半天找到了原因。

伪元素不支持空元素。

1. 什么是伪元素呢?

伪元素用于向某些选择器设置特殊效果。表示了某个元素的子元素。伪元素也就是假的元素,在实际DOM树中并不存在,所以也不能用js找到元素,绑定事件等,但是可以添加样式。

2. 伪元素的坑

空元素(不能包含内容的元素)不支持::before,::after

比如input,select,img,textarea

解决办法

将伪元素用在非空元素上,比如div,然后就可以了。

修改伪元素
//input按钮同时绑定的事件
// $('.gmi-switch').on('click', function (e) {
  //     var isChecked = $(this).prop('checked');
  //     $(this).prop('checked', isChecked);
  //     if ($(this).prop('checked')) {
  //         $('.mg-payment-cells--vcode').slideDown();
  //     } else {
  //         $('.mg-payment-cells--vcode').slideUp();
  //     }
  // });
$('.gmi-switch').on('click', function (e) {
    //修改checked为模拟
      $(this).toggleClass('checked');
      if ($(this).hasClass('checked')){
          $('.mg-payment-cells--vcode').slideDown();
      } else {
          $('.mg-payment-cells--vcode').slideUp();
      }
  });

相关文章

  • 伪元素踩坑

    项目中改bug时发现的伪元素的坑。 伪元素不支持空元素。 1. 什么是伪元素呢? 伪元素用于向某些选择器设置特殊效...

  • 2-18

    坑:input上面是不能添加伪元素的,因为伪元素在元素内渲染,而input ,img,iframe等元素不能包含其...

  • CSS踩坑

    CSS 踩坑 父级元素transform属性会使子元素的fixed定位失效。 具体参考

  • 细说CSS伪类和伪元素

    原文 博客原文 大纲 1、伪元素2、伪类元素3、伪元素和伪类元素的区别4、伪类和伪元素的使用 1、伪元素 伪元素在...

  • 行内元素与块级元素的区别

    这个 行内元素与块级元素的特性的坑,终于踩过去了。这是初级前端们经常踩的一个坑,了解后对页面布局会有一个飞一般的长...

  • appium元素定位踩坑

    对于ios: 即使元素在当前看不见,需要上滑之后才可以看见。但是可以直接通过点击元素就可以完成元素定位。 对于安卓...

  • 伪元素和伪类

    本文将介绍伪元素和伪类选择器的一些知识,以及在VUE中伪元素的动态数据更新; 伪元素和伪类: 伪元素:在内容元素的...

  • selenium 元素可以定位,运行找不到。iframe和fra

    小踩一坑:元素在页面可以定位到,运行时找不到该元素。找到原因:元素在iframe标签内。 一、 iframe if...

  • css 实现分割线的N种方法

    1.伪元素+transform:translateX(-100%); 伪元素 结合 定位 2.伪元素+flex (...

  • js 数组遍历时删除元素

    参考js在循环遍历数组中删除指定元素踩坑( foreach.. for.. for..in.. )[https:/...

网友评论

      本文标题:伪元素踩坑

      本文链接:https://www.haomeiwen.com/subject/oosufxtx.html