1

I want to add dropdown arrow in select box.I have tried but arrow displays behind the select box.I want to place the arrow inside the select box

.form-item-custom-search-types::before {
  content: '';
  display: block;
  border: 9px solid transparent;
  border-top-color: #4d1c73;
  position: absolute;
  /* right: -17px; */
  top: calc(50% - 2px);
}

.form-item-custom-search-types select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}
<div class="form-item form-type-select form-item-custom-search-types">
  <label class="element-invisible" for="edit-custom-search-types">Search for </label>
  <select class="custom-search-selector custom-search-types form-select" id="edit-custom-search-types" name="custom_search_types">      <option value="c-all" selected="selected">All</option>
   <option value="c-announcement">Announcements</option>
   <option value="c-article">Articles</option><option value="c-blog">Blogs</option>
   <option value="c-forum">Forums</option>
   <option value="c-gallery">Galleries</option>
   <option value="c-Documents">Documents</option>
  </select>
</div>
Abhishek Pandey
  • 13,302
  • 8
  • 38
  • 68
user3386779
  • 6,883
  • 20
  • 66
  • 134
  • Possible duplicate of [How to style a – Abhishek Pandey Apr 17 '17 at 07:26

2 Answers2

2

The best solution here is to put a background-image to the select like this:

.custom-search-selector{
   background: url(http://cdn4.iconfinder.com/data/icons/ionicons/512/icon-
   arrow-up-b-128.png) no-repeat right;
    background-size: 16%; 
} 

.form-item-custom-search-types select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}
/* added */
.custom-search-selector{
       background: url(http://cdn4.iconfinder.com/data/icons/ionicons/512/icon-arrow-up-b-128.png) no-repeat right;
        background-size: 16%; 
    } 
<div class="form-item form-type-select form-item-custom-search-types">
  <label class="element-invisible" for="edit-custom-search-types">Search for </label>
  <select class="custom-search-selector custom-search-types form-select" id="edit-custom-search-types" name="custom_search_types"><option value="c-all" selected="selected">All</option><option value="c-announcement">Announcements</option><option value="c-article">Articles</option><option value="c-blog">Blogs</option><option value="c-forum">Forums</option><option value="c-gallery">Galleries</option><option value="c-Documents">Documents</option></select>
kebir
  • 266
  • 2
  • 10
  • here you have just to add a good size image, use svg image preferably and delete the background-size: 16%; that i have added – kebir Apr 17 '17 at 06:07
1

You are missing a position:relative to its parent div.

.form-item{ 
  position: relative;
  display: inline-block;
}
.form-item-custom-search-types::before {
      right: 5px;
      top: calc(50% - 3px);
   }

.form-item-custom-search-types::before {
  content: '';
  display: block;
  border: 9px solid transparent;
  border-top-color: #4d1c73;
  position: absolute;
  /* right: -17px; */
  top: calc(50% - 2px);
}

.form-item-custom-search-types select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

/* added */
.form-item {
  position: relative;
  display:inline-block;
}
.form-item-custom-search-types::before {
  right: 5px;
  top: calc(50% - 3px);
}
<div class="form-item form-type-select form-item-custom-search-types">
  <label class="element-invisible" for="edit-custom-search-types">Search for </label>
  <select class="custom-search-selector custom-search-types form-select" id="edit-custom-search-types" name="custom_search_types"><option value="c-all" selected="selected">All</option><option value="c-announcement">Announcements</option><option value="c-article">Articles</option><option value="c-blog">Blogs</option><option value="c-forum">Forums</option><option value="c-gallery">Galleries</option><option value="c-Documents">Documents</option></select>
Shahil M
  • 3,836
  • 4
  • 25
  • 44