当前位置: 首页 > 面试题库 >

如何从Firefox中的选择元素中删除箭头

高兴贤
2023-03-14
问题内容

我正在尝试select使用CSS3 设置元素的样式。我在WebKit(Chrome /
Safari)中获得了想要的结果,但是Firefox的运行效果不佳(我什至不担心IE)。我正在使用CSS3
appearance属性,但是由于某些原因,我无法从Firefox中删除下拉图标。

这是我正在做的事的一个例子:http :
//jsbin.com/aniyu4/2/edit

#dropdown {
 -moz-appearance: none;
 -webkit-appearance: none;
 appearance: none;
 background: transparent url('example.png') no-repeat right center;
 padding: 2px 30px 2px 2px;
 border: none;
}

如您所见,我并没有尝试任何幻想。我只想删除默认样式并添加我自己的下拉箭头。就像我说的那样,WebKit很棒,而不是Firefox很棒。显然,-moz- appearance: none它不会摆脱下拉菜单项。

有任何想法吗?不,JavaScript不是一种选择


问题答案:

好的,我知道这个问题很旧,但是两年之后,mozilla却什么也没做。

我想出了一个简单的解决方法

这实际上会剥离firefox中选择框的所有格式,并使用自定义样式在选择框周围包裹一个span元素,但应仅适用于firefox。

说这是您的选择菜单:

<select class='css-select'>
  <option value='1'> First option </option>
  <option value='2'> Second option </option>
</select>

并假设css类“ css-select”为:

.css-select {
   background-image: url('images/select_arrow.gif');
   background-repeat: no-repeat;
   background-position: right center;
   padding-right: 20px;
}

在firefox中,它将与选择菜单一起显示,然后是难看的firefox选择箭头,然后是外观漂亮的自定义箭头。不理想。

现在,要在Firefox中进行此操作,请在类’css-select-moz’周围添加一个span元素:

   <span class='css-select-moz'>
     <select class='css-select'>
       <option value='1'> First option </option>
       <option value='2'> Second option </option>
     </select>
   </span>

然后修复CSS,使用-moz-appearance:window隐藏mozilla的脏箭头,并将自定义箭头扔到span的类’css-select-
moz’中,但只能使其显示在mozilla上,如下所示:

.css-select {
   -moz-appearance:window;
   background-image: url('images/select_arrow.gif');
   background-repeat: no-repeat;
   background-position: right center;
   padding-right: 20px;
}

@-moz-document url-prefix() {
.css-select-moz{
     background-image: url('images/html" target="_blank">select_arrow.gif');
     background-repeat: no-repeat;
     background-position: right center;
     padding-right: 20px;
  }
}

挺酷的,因为仅在3小时前遇到了这个错误(我是网页设计的新手,完全是自学成才的)。但是,这个社区间接地为我提供了很多帮助,我认为现在该是我回馈社会的时候了。

我只在firefox(mac)版本18和22(更新后)中对其进行了测试。

欢迎所有反馈。



 类似资料:
  • 问题内容: 此代码不适用于MySQL 5.0,如何重写使其正常工作 我想删除没有唯一ID的列。我会在大多数情况下添加唯一的一个ID(我尝试了in语法,它也不起作用)。 问题答案: (子)查询返回结果 集 。因此,您需要使用,而不是在子句中使用。 此外,如该答案所示,您不能在同一查询中的子查询中修改同一表。但是,您可以然后在单独的查询中进行嵌套,也可以嵌套另一个子查询并为内部子查询结果添加别名(尽管

  • 问题内容: 我有选择的元素,我想删除的箭头,然后我可以添加其他图标..我能做到这一点的Firefox Safari和Chrome,但这并没有工作 IE9 。 SEE 小提琴上的 IE9 。我所需要的就是删除ie9中的箭头,请JSFIDDLE回答。 问题答案: 在IE9中,由于您已自定义div的高度和宽度并进行选择,因此需要更改css使其与您的css相匹配。 如果是IE10,则可以在css3以下使用

  • 问题内容: 我有一个数组例如: 谁能告诉我如何从数组中删除一个元素。例如,我要删除项目“ b”,以使数组如下所示: 我找不到解决办法。到目前为止,我在这里发现的内容不适用于我:( 问题答案: 您不能从数组中删除元素。Java数组的大小是在分配数组时确定的,不能更改。您能做的最好的事情是: 在相关位置分配给数组;例如 这给您带来了处理值所在数组中的“孔”的问题。(在某些情况下,这不是问题……但是在大

  • 问题内容: var arr = [1,2,3,5,6]; 删除第一个元素 我想删除数组的第一个元素,使其变为: 删除第二个元素 扩展这个问题,如果我想删除数组的第二个元素以使其变为: 问题答案: 要获得更灵活的解决方案,请使用该功能。它允许您根据索引值删除数组中的任何项目:

  • 给定下面的代码: HTML: 断续器 我必须使用此代码才能删除元素吗?它似乎太冗长了。

  • 问题内容: 如何从ArrayList中删除重复的元素? 问题答案: 如果你不想在中添加重复项,则应考虑为什么要使用允许重复项的。删除重复元素的最简单方法是将内容添加到中(不允许重复),然后将其添加Set回中ArrayList: 当然,这会破坏中的元素顺序。