1

を使用して次のドロップダウンリストを作成しました

<select></select>

タグ . 私が使用したコードは次のとおりです。

<html>
<body>
<select name="ans" >
<option> select 1</option>
<option> select 2</option>
</select>
</body>
</html>

ドロップダウン矢印やその中のテキストなど、リストのスタイルを変更できる方法です。

4

1 に答える 1

3

ドロップダウン ボタンのスタイルを設定する場合は、次のアプローチを考え出すことができます。アイデアは、不透明度を 0 に下げることによって元の選択を非表示にしますが、それでもその機能を維持することです。また、select で options-value を変更するときに Text-value を変更するために、少しの JS も必要です (ほんの少しだけ)。

CSS:

.selectWrap {
  /* Style your own select-box here */
  background: #ddd;
  border: 1px solid black;
  color: #333;

  /* Your new Arrow */
  /* Created with the after-pseudo-element to save Markup,
     Styled the arrow with help of the border-trick to provide Retina-ready arrow */
  &:after {
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent transparent #000;
    content: "";
    right: 20px;
    position: absolute;
    top: 20px;
  }

  height: 30px;
  position:relative;
}


/* Hide the original select */
select {
  height: 30px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;

  /* Hide the select cross-browser */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -moz-opacity: 0.0;
  -khtml-opacity: 0.0;
  opacity: 0.0;
}

HTML:

<div class="selectWrap">
  <select>
    <option>one</option>
    <option>two</option>
  </select>

  <div class="selectText">Please choose..</div>
</div>

JavaScript (jQuery):

/* Always when the option in the select is changed, change the text of our selectWrap */
$(document).ready(function () {
  $('.selectWrap select').on('change', function (e) {
     var wrap = $(e.target).parents('.selectWrap');
     wrap.find('.selectedText').html(this.options[this.selectedIndex].innerHTML);
  });
});
于 2013-02-12T08:59:58.787 に答える