haml과 scss로 풀다운 만들기
카드 만료일을 입력하는 풀다운을 만들고 싶다!
이렇게 만들고 싶어~~~
JS를 사용하지 않고 haml과 scss만으로 할 수 있습니다.
.howtopay__card--month
%select{:helper => ""}
%option{:value => "1"} 01
%option{:value => "2"} 02
%option{:value => "3"} 03
%option{:value => "4"} 04
%option{:value => "5"} 05
.card__month--icon
= fa_icon("chevron-down")
.card__month--month 月
↑이것도 가능하지만 중복되어 버리므로 이 선호되지 않는다
그럼 어떻게해야합니까?
select_tag 사용
.howtopay__card--month
= select_tag 'card[month]', options_for_select(["1", "2", "3", "4", "5"])
↓下向き矢印アイコン
.card__month--icon
= fa_icon("chevron-down")
.card__month--month 月
↑select_tag로 쓰면 좋은 느낌으로 짧고 간단하게 할 수 있다
또한,
controller에서
@card.month = params[:card][:month]
에서 값을 얻습니다 scss도
.howtopay__card {
position: relative;
padding-left: 0;
&--month {
overflow: hidden;
width: 120px;
margin-top: 8px;
text-align: center;
display: flex;
select {
width: 100%;
padding-right: 1em;
padding-left: 10px;
cursor: pointer;
text-indent: 0.01px;
text-overflow: ellipsis;
border: 1px solid $light-gray;
height: 50px;
border-radius: 4px;
outline: none;
background: transparent;
box-shadow: none;
-webkit-appearance: none;
appearance: none;
}
.card__month--icon {
color: $icon-gray;
position: absolute;
left: 80px;
top: 5px;
font-size: 1.5rem;
font-weight: 100;
cursor: pointer;
}
.card__month--month {
position: absolute;
top: 15px;
left: 130px;
}
.card__year--icon {
color: $icon-gray;
position: absolute;
left: 80px;
top: 65px;
font-size: 1.5rem;
font-weight: 100;
cursor: pointer;
}
.card__year--month {
position: absolute;
top: 75px;
left: 130px;
}
}
이런 느낌입니다.
아이콘을 select_tag에 넣는 방법을 모르기 때문에
마지막 수단으로, position: relative, absolute에서 중첩
-webkit-appearance: none;
이것은
이것을 없애기 위해서입니다
참고
Reference
이 문제에 관하여(haml과 scss로 풀다운 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shi-bu/items/37ab816fccd54aec7bad텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)