我想创建一个带有html选择的下拉菜单,因此我也希望将其设置为样式。我想为选项标签设置一个填充,这样它们就不会那么过分拥挤,但我不能这样做。 (它不起作用) 任何想法?
#categories
{
padding: 10px 10px 10px 10px;
background-color: #826B78;
font-size: 20px;
color: white;
margin: 10px 10px 10px 10px;
border: none;
outline: none;
}
#categories option
{
margin: 30px 30px 30px 30px;
padding: 30px 30px 30px 30px;
font-size: 20px;
}
类别ID属于选择标记
答案 0 :(得分:3)
禁用默认设置可以让您更自由 - 在该课程中选择一个课程,使用以下内容:
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
然后添加默认样式
答案 1 :(得分:2)
用css设置选择菜单很困难。最好的方法是使用jquery,你可以使用jquery更好地控制代码。只需使用http://gregfranko.com/jquery.selectBoxIt.js/
等自定义jquery即可我刚刚用jquery做了样式选择的例子,你可以在这里查看演示
// Code to convert select to UL
$('.select').each(function() {
var $select = $(this).find('select'),
$list = $('<ul />');
$select.find('option').each(function() {
$list.append('<li>' + $(this).text() + '</li>');
});
//Remove the select after the values are taken
$select.after($list).remove();
//Append Default text to show the selected
$(this).append('<span>select</span>')
var firsttxt = $(this).find('li:first-child').text();
$(this).find('span').text(firsttxt)
// On click show the UL
$(this).on('click', 'span', function(e) {
e.stopPropagation();
$(this).parent().find('ul').show();
});
// On select of list select the item
$(this).on('click', 'li', function() {
var gettext = $(this).text();
$(this).parents('.select').find('span').text(gettext);
$(this).parent().fadeOut();
});
})
// On click out hide the UL
$(document).on('click', function() {
$('.select ul').fadeOut();
});
body {
font-family: 'arial', san-serif;
}
.select {
width: 200px;
height: 30px;
border: 1px solid #ddd;
line-height: 30px;
position: relative;
margin-bottom: 40px;
}
.select span {
display: block;
color: #333;
font-size: 12px;
padding: 0 10px;
}
.select ul {
display: none;
background: #fff;
border: 1px solid #ddd;
min-width: 300px;
position: absolute;
top: 100%;
left: 0;
list-style-type: none;
margin: 0;
padding: 0;
z-index: 10;
}
.select ul > li {
font-size: 12px;
}
.select ul > li {
color: #333;
display: block;
padding: 2px 8px;
text-decoration: none;
line-height: 24px;
}
.select ul > li:hover {
background: #e4f4fa;
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>First Select</label>
<div class="select">
<select>
<option>Item</option>
<option>Item 2</option>
<option>Item 3</option>
</select>
</div>
<label>Second Select</label>
<div class="select">
<select>
<option>this 1</option>
<option>this 2</option>
<option>this 3</option>
</select>
</div>
答案 2 :(得分:0)
您可以指定样式来选择这样的标记,或者您也可以使用类名或ID
select
{
display: inline-block;
width: 150px;
height: 20px;
padding: 3px 6px;
margin-bottom: 10px;
font-size: 12px;
line-height: 20px;
color: #555555;
vertical-align: middle;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
答案 3 :(得分:0)
html5规范不提供通用样式属性来自定义此用户输入控件元素。在网上找到的唯一方法是使用label元素来引用此控件以用于样式目的
答案 4 :(得分:-3)
避免使用&lt; select&gt;这里的元素因为它们无法在WebKit浏览器中完全设置样式。
根据那些bootstrap people