css技巧,如何设置select、radio 、 checkbox 、file这些不可直接设置的样式 。

本文介绍了如何使用CSS在不涉及模拟框的情况下,自定义select、radio、checkbox以及file输入框的样式。通过‘七层重叠法’和透明度设置,可以实现跨浏览器的样式一致性。同时,利用label标签与JavaScript可以实现单选和复选框的样式控制。
摘要由CSDN通过智能技术生成

前言:

  都说程序员有三宝:人傻,钱多,死得早。博主身边的程序“猿”一大半应了这三宝,这从侧面说明了一个问题,只有理性是过不好日子的。朋友们应该把工作与生活分开,让生活变得感性,让工作变得理性,两者相提并行,岂不快哉。咳,话题扯得有点远,今天博主给大家写一篇关于css如何设置select、radio 、 checkbox 、file样式的问题,这里不涉及模拟框,仅介绍原生情况下如何做到自定义样式,废话不多说,赖次够!

1.select与input file:

  相信大家都遇到过这样的问题,大多数浏览器select选择框不能被直接修改样式,实在是不够美观,先看一下代码:

复制代码
    <style type="text/css">
            #box{
    width: 500px; margin: 50px auto;}
            #box select{
    width: 200px; height: 30px; border: 1px solid red;background: green;color: #ffffff;}
        </style>
        <div id="box">
            <select name="xuanxiang">
                <option value="">选项一</option>
                <option value="">选项二</option>
                <option value="">选项三</option>
            </select>
        </div>
复制代码

这里把select设置成宽度200px,高度30px,边框红色,背景绿色,文字白色;

咱们来看看各大浏览器的显示效果;

 

博主的win10系统闹小情绪了,ie打不开 将就一下,总之我们可以看到,它最大的问题是右边的箭头,各有特色,另外弹出的框样式也各不相同。

怎么样屏蔽浏览器自带的效果呢,楼主有一个小技巧教给大家,支持ie8及以上的浏览器。(e6是什么?可以吃吗?)。

利用css中的“七层重叠法”,即网页内容先后顺序分别为:背景边框 , 负值z-index , display:block , 浮动 , display:inline-block , z-index:auto , 正值z-index,

越往后在网页中的层级越靠前,也就是说如果一个z-index值为1或者更高的话 它会遮挡掉他之前的所有元素。

利用这个法则以及opacity设置透明度,可以模拟一个样式,这个样式是自定义的。看下面的代码

复制代码
    <style type="text/css">
            #box{
    width: 500px; margin: 50px auto; position: relative; }
            #box select{
    width: 200px; height: 30px; position: relative; z-index: 1;  opacity: 0; } 
            .selectbg{
   position: absolute; left: 0;top: 0; width: 200px; height: 30px;
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值