CSS美化下拉框select在火狐和谷歌瀏覽器下已測試
發(fā)布時間:2014-05-13 16:27:17 作者:佚名
我要評論

本示例要模仿的是下拉框,經(jīng)過美化的偽下拉,右邊的小三角是用css3實現(xiàn)的,鼠標經(jīng)過的時候有旋轉(zhuǎn)特效
我們老是在想著怎么提升自己的水平,但是實際上的行動卻很少,大師都說是要每天碼一點點代碼的,那么要怎么做到動手實踐碼代碼呢?我就想有時候我們自己在欣賞別人的網(wǎng)站的時候,是不是就會想說看到某個模塊非常的美觀簡潔,那么是不是就可以自己動手寫下來呢?不懂的時候我們就使用火狐自帶的 firebug來查看這些結(jié)構(gòu),然后模仿下來,仔細分析好,后續(xù)在自己實現(xiàn)看看,這樣不是就更能進步呢?于是我在自己工作的同時看到好看的我也就想著實現(xiàn)它,現(xiàn)在就發(fā)現(xiàn)比較會去思考怎么來實現(xiàn)某個模塊了。不過還是有很多缺陷,如果你在看我這篇文章,有發(fā)現(xiàn)更優(yōu)的解法,請不要吝嗇的貼上你的代碼部分吧。
初始化
經(jīng)過的下拉展示
這邊是我查看的地址,我要模仿的是他的下拉框,經(jīng)過美化的偽下拉:
http://www.lawtime.cn/xiamen 不過我這邊有做了小小的調(diào)整現(xiàn)在我的瀏覽都是基于火狐和谷歌瀏覽器上查看特效的,我沒有在去關(guān)注ie,因此,我右邊的小三角是用css3實現(xiàn)的,鼠標經(jīng)過的時候有旋轉(zhuǎn)特效哦。。下面是html結(jié)果
<div class="select">
<div class="select_default"></div>
<!--這邊是默認展示我們選中的框-->
<ul class="select_item">
<!--實則所有的下拉選項隱藏了,在這個ul中-->
<li>Complex</li>
<li>Knowledge</li>
<li>Case</li>
<li>Article</li>
<li>News</li>
</ul>
</div>
然后在進行css美化
*{
margin:0;
padding:0;
}
body{
margin:0;
padding:0;
font:normal 12px Arial, Helvetica, sans-serif;
}
.select{
width:100px;
position:relative;
top:100px;
left:100px;
cursor:pointer;
}
.select_default{
width:80px;
height:32px;
line-height:32px;
padding:0 10px;
border:solid 1px #ccc;
}
/*這邊就是三角形的css代碼,使用偽類和定位實現(xiàn)右三角*/
.select_default:after{
content:"";
border-left:5px solid transparent;
border-right:5px solid transparent;
border-bottom:5px solid #999;
-webkit-transform-origin:5px 2.5px;
-moz-transform-origin:5px 2.5px;
-ms-transform-origin:5px 2.5px;
-o-transform-origin:5px 2.5px;
transform-origin:5px 2.5px;
-webkit-transition: all .5s ease;
-moz-transition: all .5s ease;
-ms-transition: all .5s ease;
-o-transition: all .5s ease;
transition: all .5s ease;
position:absolute;
right:5px;
top:14px;
}
.select_default.rotate:after{
-webkit-transform:rotate(180deg);
-moz-transform:rotate(180deg);
-ms-transform:rotate(180deg);
-o-transform:rotate(180deg);
transform:rotate(180deg);
}
.select_item{
margin:0;
padding:0;
display:none;
list-style:none;
}
.select_item li{
width:80px;
height:32px;
line-height:32px;
padding:0 10px;
border:solid 1px #ccc;
border-top:none;
}
.select_item li.hover{
background:#666;
color:#fff;
}
最后使用jq實現(xiàn)下拉
$(document).ready(function(){
var $sel = $(".select"),
$sel_default = $(".select_default"),
$sel_item = $(".select_item"),
$sel_item_li = $(".select_item li")
$sel_default.text($(".select_item li:first").text());
//alert();
$sel.hover(function(){
$sel_item.show();
$sel_default.addClass("rotate");
$sel_item_li.hover(function(){
$index = $sel_item_li.index(this);
//alert($index)
$sel_item_li.eq($index).addClass("hover");
},function(){
$sel_item_li.removeClass("hover");
})
},function(){
$sel_item.hide();
$sel_default.removeClass("rotate");
});
$sel_item_li.click(function(){
$sel_default.text($(this).text());
$sel_item.hide();
});
});
資源下載
以上便是全部,但是我感覺jq好像不夠優(yōu)化,我是在經(jīng)過默認展示框的時候,下拉ul顯示,然后在寫經(jīng)過下拉的菜單的時候添加css特效。。但是怎么覺得不夠優(yōu)化??
然后我們用這種方式來美化的話,我在想傳值的話是不是也只能用js吧值賦值到地址上跳轉(zhuǎn)呢??還是說有其他的好方法??用隱藏域的話能行嗎??具體又要怎么辦呢???以上這倆問題,都還沒具體實踐!

初始化

經(jīng)過的下拉展示
這邊是我查看的地址,我要模仿的是他的下拉框,經(jīng)過美化的偽下拉:
http://www.lawtime.cn/xiamen 不過我這邊有做了小小的調(diào)整現(xiàn)在我的瀏覽都是基于火狐和谷歌瀏覽器上查看特效的,我沒有在去關(guān)注ie,因此,我右邊的小三角是用css3實現(xiàn)的,鼠標經(jīng)過的時候有旋轉(zhuǎn)特效哦。。下面是html結(jié)果
復制代碼
代碼如下:<div class="select">
<div class="select_default"></div>
<!--這邊是默認展示我們選中的框-->
<ul class="select_item">
<!--實則所有的下拉選項隱藏了,在這個ul中-->
<li>Complex</li>
<li>Knowledge</li>
<li>Case</li>
<li>Article</li>
<li>News</li>
</ul>
</div>
然后在進行css美化
復制代碼
代碼如下:*{
margin:0;
padding:0;
}
body{
margin:0;
padding:0;
font:normal 12px Arial, Helvetica, sans-serif;
}
.select{
width:100px;
position:relative;
top:100px;
left:100px;
cursor:pointer;
}
.select_default{
width:80px;
height:32px;
line-height:32px;
padding:0 10px;
border:solid 1px #ccc;
}
/*這邊就是三角形的css代碼,使用偽類和定位實現(xiàn)右三角*/
.select_default:after{
content:"";
border-left:5px solid transparent;
border-right:5px solid transparent;
border-bottom:5px solid #999;
-webkit-transform-origin:5px 2.5px;
-moz-transform-origin:5px 2.5px;
-ms-transform-origin:5px 2.5px;
-o-transform-origin:5px 2.5px;
transform-origin:5px 2.5px;
-webkit-transition: all .5s ease;
-moz-transition: all .5s ease;
-ms-transition: all .5s ease;
-o-transition: all .5s ease;
transition: all .5s ease;
position:absolute;
right:5px;
top:14px;
}
.select_default.rotate:after{
-webkit-transform:rotate(180deg);
-moz-transform:rotate(180deg);
-ms-transform:rotate(180deg);
-o-transform:rotate(180deg);
transform:rotate(180deg);
}
.select_item{
margin:0;
padding:0;
display:none;
list-style:none;
}
.select_item li{
width:80px;
height:32px;
line-height:32px;
padding:0 10px;
border:solid 1px #ccc;
border-top:none;
}
.select_item li.hover{
background:#666;
color:#fff;
}
最后使用jq實現(xiàn)下拉
復制代碼
代碼如下:$(document).ready(function(){
var $sel = $(".select"),
$sel_default = $(".select_default"),
$sel_item = $(".select_item"),
$sel_item_li = $(".select_item li")
$sel_default.text($(".select_item li:first").text());
//alert();
$sel.hover(function(){
$sel_item.show();
$sel_default.addClass("rotate");
$sel_item_li.hover(function(){
$index = $sel_item_li.index(this);
//alert($index)
$sel_item_li.eq($index).addClass("hover");
},function(){
$sel_item_li.removeClass("hover");
})
},function(){
$sel_item.hide();
$sel_default.removeClass("rotate");
});
$sel_item_li.click(function(){
$sel_default.text($(this).text());
$sel_item.hide();
});
});
資源下載
以上便是全部,但是我感覺jq好像不夠優(yōu)化,我是在經(jīng)過默認展示框的時候,下拉ul顯示,然后在寫經(jīng)過下拉的菜單的時候添加css特效。。但是怎么覺得不夠優(yōu)化??
然后我們用這種方式來美化的話,我在想傳值的話是不是也只能用js吧值賦值到地址上跳轉(zhuǎn)呢??還是說有其他的好方法??用隱藏域的話能行嗎??具體又要怎么辦呢???以上這倆問題,都還沒具體實踐!
相關(guān)文章
- jquery實現(xiàn)select下拉框美化特效,實現(xiàn)效果簡潔大方,是一款非常實用的特效源碼。2015-08-27
- 這篇文章主要介紹了使用CSS3的::selection改變選中文本顏色的方法,也就是說可以將默認的藍色底色改為其他顏色,really cool,需要的朋友可以參考下2015-09-29
- 這篇文章主要介紹了用CSS和Div美化SELECT樣式的簡單方法,同時提到了select相關(guān)的兼容性寫法,需要的朋友可以參考下2015-08-06
- 改變select默認的樣式,一般情路情況下通過ul,li來模擬來實現(xiàn);Jquery插件也是這樣,接下來介紹一種不寫腳本,只用單純的css來實現(xiàn)。在IE系列下,選中某個選項的時候會有背景2013-02-21
- 去年我學jQuery的時候,曾經(jīng)做過一點選擇器(selector)的筆記,今天是CSS的選擇器,以后還有一部分xPath的選擇器。今天的筆記中包括44個選擇器,基本涵蓋了CSS 2和CSS 3的2012-12-18
css 讓文字不被選中之-moz-user-select 屬性介紹
讓文字不被選中,應該有一個css屬性進行控制,結(jié)果網(wǎng)上查了下發(fā)現(xiàn)了-moz-user-select 屬性介紹2024-05-05用CSS讓img input select button 圖片,文本框,下拉菜單,按扭垂直居中的
一直以來,在HTML中,img input select button 這里元素,垂直對齊,比較難。結(jié)果我長大了。我發(fā)現(xiàn)了一個現(xiàn)像,其實解決這些問題只是一句話的事。2011-03-08css教程:css指令,兼容,注釋,selector-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學網(wǎng)
1.2 跟css有關(guān)的標記,指令 1.2.1 link <link rel="stylesheet" type="text/css" href="sheet1.css" media="all" />2008-10-17CSS Hack整理-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學網(wǎng)
CSS Hack是在標準CSS沒辦法兼容各瀏覽器顯示效果時才會用上的補救方法,在各瀏覽器廠商解析CSS沒有達成一致前,我們只能用這樣的方法來完成這樣的任務(wù). 我進行前端開發(fā)的2008-10-17- 本文給大家介紹css代碼去掉select的下拉箭頭樣式的方法,代碼簡單易懂,需要的朋友可以參考下2016-09-02