关于select下拉选择框样式的修改

这里对于select下拉样式的修改采用了模拟下拉框的方式,以下是代码,可根据需要自行修改

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    body {
  background:#2d2d2d;
  display:flex;
  justify-content: center;
  align-items:center;
  flex-wrap:wrap;
  padding:0;
  margin:0;
  height:100vh;
  width:100vw;
  font-family: sans-serif;
  color:#FFF;
}

.select {
  display:flex;
  flex-direction: column;
  position:relative;
  width:250px;
  height:40px;
}

.option {
  padding:0 30px 0 10px;
  min-height:40px;
  display:flex;
  align-items:center;
  background:#333;
  border-top:#222 solid 1px;
  position:absolute;
  top:0;
  width: 100%;
  pointer-events:none;
  order:2;
  z-index:1;
  transition:background .4s ease-in-out;
  box-sizing:border-box;
  overflow:hidden;
  white-space:nowrap;
  
}

.option:hover {
  background:#666;
}

.select:focus .option {
  position:relative;
  pointer-events:all;
}

input {
  opacity:0;
  position:absolute;
  left:-99999px;
}

input:checked + label {
  order: 1;
  z-index:2;
  background:#666;
  border-top:none;
  position:relative;
}

input:checked + label:after {
  content:'';
  width: 0; 
	height: 0; 
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid white;
  position:absolute;
  right:10px;
  top:calc(50% - 2.5px);
  pointer-events:none;
  z-index:3;
}

input:checked + label:before {
  position:absolute;
  right:0;
  height: 40px;
  width: 40px;
  content: '';
  background:#666;
}
</style>
<body>
    <div class="select" tabindex="1">
        <input class="selectopt" name="test" type="radio" id="opt1" checked>
        <label  class="option">Oranges</label>
        <input class="selectopt" name="test" type="radio" id="opt2">
        <label for="opt2" class="option">Apples</label>
        <input class="selectopt" name="test" type="radio" id="opt3">
        <label for="opt3" class="option">Grapefruit</label>
        <input class="selectopt" name="test" type="radio" id="opt4">
        <label for="opt4" class="option">Bananas</label>
        <input class="selectopt" name="test" type="radio" id="opt5">
        <label for="opt5" class="option">Watermelon</label>
      </div>
</body>
</html>

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值