如何增加选择框箭头的宽度?

时间:2016-04-19 09:05:01

标签: html css twitter-bootstrap-3

我想增加选择框箭头的宽度,就像fa fa caret一样。我没有得到它怎么做。我在每个字段内使用了img标签并给出了绝对位置并使用左上顶部属性进行了调整但我认为这不是正确的方法,即使我点击图像箭头而不是选择选项正在打开所以我删除了这个。请告诉我适当的解决方案。

.search-categories{
    background: #E40444 !important;
    color: #fff !important;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.js"></script>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css">
    <style type="text/css">
    
    </style>

    <div class="col-md-12 ">
      <div class="row">
       <form action="#" method="get" id="search_mini_form">
          <div class="col-sm-offset-2 col-sm-2 catnames">
             <select name="cat" class="form-control search-categories">
                <option>Categories</option>
                <option value="3">abcd</option>
                <option value="4">abcd</option>
                <option value="5">abcd</option>
             </select>
          </div>
          <div class="col-sm-2 catnames catnames-arrow ">
             <select name="cat" class="form-control search-categories search-Hourly">
                <option>Hourly</option>
                <option value="3">abcd</option>
                <option value="4">abcd</option>
                <option value="5">abcd</option>
             </select>
          </div>
          <div class="col-sm-4 catquery ">
       <div class="input-group">
             <input type="search" class="form-control " name="q" id="location" value="" maxlength="128" placeholder="Search Place..." autocomplete="off" />
         <div class="input-group-addon catsubmit"><i class="fa fa-search"></i></div>
            </div>
          </div>
          <div id="search_autocomplete" class="search-autocomplete"></div>
       </form>
       </div>
    </div>

3 个答案:

答案 0 :(得分:1)

将表单元素设置为跨浏览器样式非常复杂,因为浏览器对表单元素有不同的外观(尤其是复选框,广播,选择,进度)。

我建议使用像select2这样的插件,这样您就可以轻松地设置与浏览器无关的元素。

$(document).ready(function() {
  $('select').select2({
    width: '200px'
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="http://select2.github.io/select2/select2-3.5.3/select2.css" rel="stylesheet" />
<script src="http://select2.github.io/select2/select2-3.5.3/select2.js"></script>


<select>
  <option>Op 1</option>
  <option>Op 2</option>
  <option>Op 3</option>
  <option>Op 4</option>
</select>

答案 1 :(得分:1)

您可以使用css三角形来制作箭头。

<强> HTML

<div class="selectwrap">
      <select>
        <option>Option 1</option>
        <option>Option 3</option>
        <option>Option 4</option>
      </select>
</div>

<强> CSS

select {
  border: 1px solid #ccc;
  height: 34px;
  width: 250px;
  padding: 6px 12px;
  line-height: 1.42857143;
}

.selectwrap {
  position: relative;
  float: left;
}

.selectwrap:after {
  content: "";
  position: absolute;
  width: 0; 
  height: 0; 
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;  
  border-top: 8px solid #000;
  right: 4px;
  top: 14px;
  pointer-events: none;
}

答案 2 :(得分:0)

更好地使用某些选择元素自定义插件,例如select2selectize。这些插件创建的外观可以通过CSS自定义。

单独使用css,无法以浏览器方式完全控制select元素的外观。