セレクトボックスで初期表示文字のみ色を変えたいです。
現在、下記写真のように選択されていない状態では、「ジャンルを選択」と初期表示させ、
その配下にoptionタグで選択肢を設けています。
理想としてはplaceholderのように、初期表示文字のみをグレー色で表示させて
選択されたら通常の白色で表示されるようにしたいです。
現在下記のようselectタグには下記を入れて、切り替えをするように記述していますが、
初期表示すらされません。
:style="{ color : genre == '' ? 'gray' : 'white' }"
⑴選択がされたら白色できちんと表示がされますが、初期表示がグレー色で表示されないです。
⑵selectタグ内に「v-model="genre"」と記載今はしているのですが、
この記述を消してあげるととりあえず「ジャンルを選択」と表示はされますが、グレー色で表示されます。
しかし、他の選択物も含め全てグレー色で表示されてしまう状況です。
もし改善策があればお力添えをいただきたいです。
よろしくお願いいたします。
実際のコード
html
1<select v-model="genre" class="post-select" 2 :style="{ color : genre == '' ? 'gray' : 'white' }"> 3 <option class="post-item" hidden>ジャンルを選択</option> 4 <option v-for="genre in genres" :value="genre.name" :key="genre.id" 5 class="post-item" style="color: white;">{{ genre.name }}</option> 6</select>
js
1export default { 2 data() { 3 return { 4 genre: "", 5 genres: [ 6 { id: 1, name: "アクション" }, 7 { id: 2, name: "ドラマ" }, 8 { id: 3, name: "恋愛" }, 9 { id: 4, name: "ホラー" }, 10 { id: 5, name: "戦争" }, 11 ], 12 }; 13 },
css
1 2::placeholder { 3 color: gray; 4 font-size: 1rem; 5 padding-left: 0.25rem; 6} 7 8textarea { 9 resize: vertical; 10 width: 17rem; 11 outline: none; 12 border: none; 13 height: 2rem; 14 border-bottom: 1px solid #ddd; 15 color: $white-color; 16 font-size: 1rem; 17 background-color: $black-color; 18} 19 20textarea::placeholder { 21 color: gray; 22 font-size: 1rem; 23 padding-left: 0.25rem; 24} 25 26// -- post --// 27 28.modal-inner { 29 position: relative; 30 .modal-header { 31 flex-direction: column; 32 background-color: $black-color; 33 .post-tll { 34 padding-top: 3rem; 35 color: $white-color; 36 font-family: "Roboto", sans-serif; 37 } 38 } 39 .modal-body { 40 .post-items { 41 flex-direction: column; 42 background-color: $black-color; 43 color: $white-color; 44 padding-bottom: 4rem; 45 .post-img { 46 position: relative; 47 } 48 .post-contens { 49 position: relative; 50 margin: 0.8rem; 51 .post-select { 52 width: 17rem; 53 outline: none; 54 border: none; 55 font-size: 1rem; 56 color: $white-color; 57 height: 3rem; 58 border-bottom: 1px solid #ddd; 59 background-color: $black-color; 60 } 61 .btn-img { 62 position: absolute; 63 left: 0; 64 bottom: 8px; 65 width: 4.5rem; 66 color: white; 67 background-color: rgb(80, 80, 80); 68 padding: 0.3rem; 69 border-radius: 0.5rem; 70 text-decoration: none; 71 cursor: pointer; 72 border: none; 73 outline: none; 74 font-weight: bold; 75 } 76 .item-img { 77 width: 35px; 78 height: 35px; 79 margin-right: 0.8rem; 80 } 81 .post-item { 82 width: 17rem; 83 outline: none; 84 border: none; 85 height: 3rem; 86 border-bottom: 1px solid #ddd; 87 color: $white-color; 88 font-size: 1rem; 89 background-color: $black-color; 90 } 91 } 92 } 93 } 94} 95 96
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/21 05:18
2021/04/21 06:18
2021/04/21 06:24
2021/04/21 06:36
2021/04/21 06:36