只用CSS美化选择框

只用CSS美化选择框

2012-03-02 11:04 by iBlog, 26240 阅读, 14 评论, 收藏, 编辑

<本文译自Style a Select Box Using Only CSS>

当我需要用下拉列表拼凑自定义表单时,我常常不得不使用下拉框(select),由于某些部分是浏览器特定的,如下拉箭头,我花了一段时间去搞清楚如何只使用css轻松地美化下拉框。

下面是一个默认样式的下拉框的长相:

Here is the first option
The second option

HTML code:

<select>
       <option>Here is the first option</option>
       <option>The second option</option>
</select>

一个选择框的某些部分我们是可以美化的,比如字体、边框、颜色、内边距和背景颜色:

Here is the first option
The second option

但是烦人的下拉箭头还是保持不变。没有直接美化它的方式,但解决方案还是非常简单的,首先我们需要用一个div容器包裹在select元素外围:

1 <div class="styled-select">2 <select>3 <option>Here is the first option</option>4 <option>The second option</option>5 </select>6 </div>

下一步我们需要加入一些css,以确保选择框元素被以某种方式美化:

.styled-select select {
   background: transparent;
   width: 268px;
   padding: 5px;
   font-size: 16px;
   border: 1px solid #ccc;
   height: 34px;
   -webkit-appearance: none; /*for chrome*/
}

我们需要确保选择框的跨度比外围的div容器更宽,这样默认的下拉箭头就会消失(译者注:选择框比外面的div宽大,默认的下拉箭头就会被隐藏)

下面是我们要用的新下拉箭头:

我们的div容器需要被美化成新的下拉箭头出现在我们预想的位置:

.styled-select {
   width: 240px;
   height: 34px;
   overflow: hidden;
   background: url(new_arrow.png) no-repeat right #ddd;
}

Here is the first option
The second option

知道这点解决办法将使你非常容易的,不用别的只使用css就能美化您的选择框。

译者注:在线调式地址http://jsfiddle.net/shishaomeng/KGrYB/ ,各位看官可自行进入调试

转自:http://www.cnblogs.com/shishm/archive/2012/03/02/2376759.html

时间: 2024-08-13 05:05:07

只用CSS美化选择框的相关文章

CSS自定义select下拉选择框的样式(不用其他标签模拟)

CSS自定义select下拉选择框的样式(不用其他标签模拟):http://www.jb51.net/css/148841.html CSS美化选择框:http://www.cnblogs.com/shishm/archive/2012/03/02/2376759.html 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5

[jQueryUI] - Chosen:select下拉选择框美化插件及问题【转】

hosen 是一个支持jquery的select下拉框美化插件,它能让丑陋的.很长的select选择框变的更好看.更方便.不仅如此,它更扩展了select,增加了自动筛选的功能.它可对列表进行分组,同时也可禁用某些选择项. 先来看下插件的效果:   跟这个比起来,原来的select样式是不是弱爆了! 马上来武装我们的select吧: 1.先把js和css文件引用到网页里面去: ? 1 2 3 <link href="js/jqueryUI/chosen/chosen.css" t

jquery.chosen.js下拉选择框美化插件项目实例

由于之前使用的bootstrap-select插件是建立在bootstrap基础上的,实际使用到项目中的时候,与我们使用的ace-admin(基于bootstrap)存在样式冲突,导致下拉框的样式发生变化.为了界面的美观,不得已查资料寻找另外的插件. 使用jquery.chosen.js下拉选择框美化插件同样也能达到类似效果 完成效果如下 实现步骤如下 1.导入相关文件 <link rel="stylesheet" href="${ctxStatic}/css/chos

类似 select 选择框效果及美化

网上有各种各样的关于 select 选择框的美化,找了很多,并没有好的样式效果.所以就找了一个利用 ul li 做的类似 select 选择框的效果,不废话了,先上图,效果如下: 对于上图的箭头效果,可以看看我上篇博客 点击这里 点击一个 test ,就会把列表显示出来,再次点击,列表隐藏,选择一个 li ,就会把 span 里的内容替换成 li 的内容,然后可以用 js 监控 span 的变化,然后执行你的代码.效果如下: html 代码如下: <div id="type" c

CSS案例 -- 美化checkbox框

在开发项目中,我们经常要美化checkbox框.下面是只用css实现checkbox选中美化 <div class='div-checkbox'> <input type="checkbox" id='handsome' /> <label for='handsome' >我很帅</label> </div> #handsome{ display:none; } .div-checkbox input + label { ba

只用css来美化的上传表单按钮(抄的迅雷的)

<!DOCTYPE html><html><head><meta charset="utf-8" /><title>文件上传</title><link href="css/reset.css" rel="stylesheet" type="text/css"><style type="text/css">.wei

基于jQuery美化联动下拉选择框

今天给大家介绍一款基于jQuery美化联动下拉选择框.这款下下拉选择框js里自带了全国所有城市的数数库.下拉选择框适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="container"> <div class="inner"> <section id="main_content"

ionic.css界面组件:表单-选择框

选择框 : .item-select select 在每个平台上,选择框的表现形式都不一样,例如,在PC上,是一个传统的下拉框,在Android 是一个单选弹出窗,而iOS上是一个覆盖半个窗体的定制滚动器: 通常总是将选择框与文字一起放入列表条目中,使用如下HTML模板创建选择框条目: <label class="item-input item-select">     <any class="input-label"></any>

下拉选择框select的纯CSS替代方案

这篇教程中,我将给大家展示表单元素下拉选择框select的CSS替代方案.该方法采用css来实现,看上去非常简单.我们用radio标签列表来模拟下拉列表,选择一个radio可以很好的模拟出select中选择一个元素的效果. 一:HTML 下面是我们在form表单里面用到的html代码: .代码 <fieldset class="radio-container"> <div class="radio-options"> <div clas