如何实现select前台效果

引言

 

       如何和公司的设计师交流甚多,才知道,公司的设计师,真的是“牛牪犇”,非但如此,他们的眼睛也是犀利到不

行,真的是“1px”必争啊!但也正是因为他们,所以前台确实收获挺多,毕竟前台一直是我的弱项,如今,js,css,

jQuery信手拈来。下边以select的前台效果实现的demo说明一下。


select成长记


       先来看看最简单的select是什么效果的~~~


       在我们看来,毫无问题啊~~~然而设计师不这么想,且看select的成长记。


       设计师要求字体颜色是灰色色调#cecece,并且字体向左移动6px左右的距离。很简单,做吧~~~效果图:


        嗯,向左移动了6px,并且颜色也改了,但是现在有一个问题,就是select的所有字体颜色都是灰色,及时选择了

也还是灰色,所以设计师说:选择了之后变成黑色。嗯,还好,可以解决。效果:



        但是现在设计师说,这不行啊,如果说选择默认的,还需要变回灰色啊,啊,啊,啊。。。好吧~照办!效果:


        到此,我的select效果基本都出来了,虽然几经波折,但是代码确实很简单的,看看吧~

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js">
</script>
<title>菜鸟教程(runoob.com)</title> 
	<style type="text/css">
		select{
			width:200px;
			height:30px;
			color:#cecece;
			padding:6px 12px;
		}
	</style>
</head>
<body>

<select id="myselect">
  <option value="default">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
<select id="myselect2">
  <option value="default">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
	
</body>
	<script type="text/javascript">
		$("select").on("click",function(){
			if($(this).val()=="default"){
				$(this).css("color","#cecece");
			}else{
				$(this).css("color","black");
			}
		});
	</script>
</html>
           

总结


        这种跟设计的沟通过程中,发现,自己还是需要点强迫症的,眼里揉不得沙子有点太过了,但是这种基本的对审

美的要求还是要有的。相信经过在长城的这段学习时间,我的前台修养会大大的进步。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 31
    评论
实现 `el-select` 的 readonly 效果,可以通过以下两种方式之一: 1. 使用 `el-select` 的 `disabled` 属性,将其设置为 `true`,然后在 CSS 中添加样式覆盖默认的禁用样式。 ```html <el-select disabled class="readonly-select" v-model="value"> <el-option label="选项一" value="1"></el-option> <el-option label="选项二" value="2"></el-option> <el-option label="选项三" value="3"></el-option> </el-select> ``` ```css .readonly-select .el-input__inner { cursor: not-allowed; } ``` 2. 自定义 `el-select` 的模板,并在模板中禁用选择框的交互事件。 ```html <template> <el-select v-model="value"> <div class="el-input el-input--suffix readonly-select"> <input class="el-input__inner" type="text" :value="selectedLabel" readonly> <span class="el-input__suffix"> <i class="el-input__icon el-icon-arrow-up"></i> </span> </div> <el-option label="选项一" value="1"></el-option> <el-option label="选项二" value="2"></el-option> <el-option label="选项三" value="3"></el-option> </el-select> </template> <script> export default { data() { return { value: '', }; }, computed: { selectedLabel() { const selectedOption = this.$refs.select.selected; return selectedOption ? selectedOption.currentLabel : ''; }, }, mounted() { // 禁用选择框的交互事件 this.$refs.select.$el.querySelector('.el-input__inner').addEventListener('mousedown', (event) => { event.preventDefault(); }); }, }; </script> ``` 以上两种方式都可以实现 `el-select` 的 readonly 效果,具体选择哪种方式取决于你的需求和实际情况。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值