【问题标题】:HTML select dropdown custom arrow cssHTML选择下拉自定义箭头css
【发布时间】:2019-05-26 04:25:19
【问题描述】:

我正在尝试对代码中提到的下拉菜单使用自定义箭头。我在这里面临两个问题。

1.无法将箭头部分放置在 dropdwon 附近。

2.此自定义箭头不可点击。

我怎样才能实现这两个?

我尝试将z-index;-1 用于:after 部分。但它没有按预期工作。

	 
.expenses_div {
	
	width:90% !important;
	margin:auto;
	margin-top:2%;

}

	
.expenses_div_left{
	height:40px;
	line-height:40px;
	background-color:black; 
	float:left;
	display: inline-block;
	text-align:left;
	padding-left:12px;
	color:white;
	width:48%;
	font-size: 14px !important;
	font-family : "Montserrat",sans-serif !important;
 
	} 
	
.expenses_div_right{
	
	height: 40px !important;
	line-height: 40px !important;
	width:48%;
	float:left;
	display: inline-block;
	cursor:pointer;
	background:transparent !important;
	
}



 
.expenses_div_right select {

	font-family : "Montserrat",sans-serif !important;
	background:transparent !important;
	appearance:none !important;
	-moz-appearance:none !important;
	-webkit-appearance:none !important;
	-webkit-box-sizing: border-box !important;
	-moz-box-sizing: border-box !important;
	box-sizing: border-box !important;
	border: 1px solid black !important;
	width:100%!important;
	color:black !important;
	height:40px;
	text-align:left !important;
	font-size: 14px !important;
	outline: none; 
	background-color:none !important;
	position: relative !important;
	cursor:pointer;
	padding-left:12px;
  
}
 

.expenses_div_right:after { 
	content: '< >';
	font: 16px "Consolas", monospace;
	font-weight:bold;
	color: white;
	background-color:black;
  display:inline-block;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	position: relative;
	width:40px;
	height:40px;
	text-align:center;
	line-height:40px;
	overflow:hidden !important;
	cursor:pointer;

}
<div class="expenses_div">
			<div class="expenses_div_left" >How to Proceed</div>
			<div class="expenses_div_right" >
				<select name="main_selection"  id="main_selection" >
					<option selected value="">Select an option</option>
					<option value="new_data">New Data</option>
					<option value="analize_data">Analyze Data</option>
					<option value="refresh_data">Refresh Data</option> 
				</select>
			</div>
		</div>

【问题讨论】:

    标签: html css drop-down-menu html-select


    【解决方案1】:

    定位并点击!

    更改评论:

    片段:

    .expenses_div {
    
    width:90% !important;
    margin:auto;
    margin-top:2%;
    
    }
    
    
    .expenses_div_left{
    height:40px;
    line-height:40px;
    background-color:black; 
    float:left;
    display: inline-block;
    text-align:left;
    padding-left:12px;
    color:white;
    width:48%;
    font-size: 14px !important;
    font-family : "Montserrat",sans-serif !important;
    
    } 
    
    .expenses_div_right{
    
    height: 40px !important;
    line-height: 40px !important;
    width:48%;
    float:left;
    display: inline-block;
    cursor:pointer;
    background:transparent !important;
    position:relative;/*Added (Because :after should be relative to this not whole page! )*/
    
    }
    
    
    
    
    .expenses_div_right select {
    
    font-family : "Montserrat",sans-serif !important;
    background:transparent !important;
    appearance:none !important;
    -moz-appearance:none !important;
    -webkit-appearance:none !important;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
    border: 1px solid black !important;
    width:100%!important;
    color:black !important;
    height:40px;
    text-align:left !important;
    font-size: 14px !important;
    outline: none; 
    background-color:none !important;
    position: relative !important;
    cursor:pointer;
    padding-left:12px;
    
    }
    
    
    .expenses_div_right:after { 
    content: '< >';
    font: 16px "Consolas", monospace;
    font-weight:bold;
    color: white;
    background-color:black;
    display:inline-block;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    position: absolute;/*Changed to absolute*/
    top:0;/*Added*/
    right:0;/*Added*/
    width:40px;
    height:40px;
    text-align:center;
    line-height:40px;
    overflow:hidden !important;
    cursor:pointer;
    z-index :-1 ;/*Added ( For Your 2nd Question )*/
    }
    <div class="expenses_div">
    			<div class="expenses_div_left" >How to Proceed</div>
    			<div class="expenses_div_right" >
    				<select name="main_selection"  id="main_selection" >
    					<option selected value="">Select an option</option>
    					<option value="new_data">New Data</option>
    					<option value="analize_data">Analyze Data</option>
    					<option value="refresh_data">Refresh Data</option> 
    				</select>
    			</div>
    		</div>

    这对你有帮助!

    【讨论】:

    • 谢谢。但是当我将此代码添加到我的网站时,箭头没有出现。箭头位置正确。通过删除 z-index 验证了这一点。我相信背景有些奇怪:透明!重要;财产。它没有按预期工作
    • 乐于助人 ;) 请发送您的网站 url 或在 js-fiddle 上运行,看看有什么问题
    • 添加:z-index:2;到
    猜你喜欢
    • 1970-01-01
    • 2019-02-03
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2016-06-22
    • 1970-01-01
    相关资源
    最近更新 更多