パーセンテージで固定幅の選択ドロップダウンメニューがあります。そして、私はそれにカスタムボタンを持っています。私が欲しいのは、selectの現在の幅に関係なく、ボタンを右側から20ピクセル離しておくことです。しかし、background-positionプロパティで%を使用すると、ウィンドウが大きいときにボタンが遠くまで移動するため、その方法を見つけることができませんでした。また、ピクセルを特定の幅に設定する必要があるため、ピクセルを使用できないことも明らかです。
html
<div class="selector">
<select id="layer" name="layer" class="select-button">
<option value="0"> 0
</option>
<option value="1"> 1
</option>
<option value="2"> 2
</option>
<option value="3"> 3
</option>
</select>
</div>
css
.selector > .select-button {
background-image: url("../img/actions.png");
background-repeat: no-repeat;
background-color: #ffffff;
background-size: 20px 15px;
background-position: 95% 50% ;
float: right;
width: 45%;
font-size: 16px;
border: 0;
height: 50px;
border-radius: 10px;
border: 5px solid black;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
これが デモです
私はそれをよりよく示すためにランダムな画像を使用しました。ウィンドウを広げると、パーセンテージで設定されているため、ボタンの位置が変わります。ビューポートのサイズに関係なく、ボタンを右側から絶対20px離して配置したいのですが、どうすればそれを実現できるのかわかりません。