有一个需求是需要写如上图所示的输入框。
首先想到的是调整输入的透明度
<div class="inputDiv"><img src="./images/search.png" /><input type="text" class="myInput" placeholder="请输入标题关键字"/>
</div>
.inputDiv{border-radius: 16px;height:3.2rem;width:32rem;margin-top:0.7rem;display: flex;align-items: center;padding-left:0.9rem;
}
.myInput{height:3.2rem;opacity: 0.24;padding:0;padding-inline:0;padding-block:0;border-width:0;width:27.5rem;font-size: 1.4rem;color: #FFFFFF ;
}
.myInput::placeholder {color: #FFD6B5 ;font-size: 1.4rem;line-height: 3.2rem;text-align: center;
}
这样会发现placeholder的透明度也会被输入框的透明度影响
如果把透明度放在background-color中实现就会没有这个烦恼了
最终实现方案
.inputDiv{background-color: rgba(255, 255, 255, 0.24);border-radius: 16px;height:3.2rem;width:32rem;margin-top:0.7rem;display: flex;align-items: center;padding-left:0.9rem;
}
.inputDiv img {width:1.8rem;height:1.8rem;
}
.myInput{height:3.2rem;background-color: rgba(255, 255, 255, 0);padding:0;padding-inline:0;padding-block:0;border-width:0;width:27.5rem;font-size: 1.4rem;color: #FFFFFF ;
}
.myInput::placeholder {color: #FFD6B5 ;font-size: 1.4rem;line-height: 3.2rem;text-align: center;
}