html select 文字居中显示图片,html原生select改造箭头及文字左右居中的一种办法...

使用过原生select做网页开发的人,一定会对select的两个问题痛心疾首,一是箭头没办法使用css改造,二是显示文字没办法左右居中。

首先,如果你有足够时间的话,请改用jquerymobile。jquerymobile提供了移动端非常强大的各种控件。对select除了基本css改造外,还支持选项的分组、多选等各种样式。

其次,使用div模拟,网上有较多的使用div+css模拟select的案例,可以找来参考。

最后,如果你对前端开发不熟,而且又想偷懒的话,可以采用本文中的土鳖方法。

改造箭头

博主在开发微信上的H5应用时 ,发现border:none和background:none在微信浏览器里面是无效的。在网上找到一个办法,直接清除了select的样式:

appearance:none;

-moz-appearance:none; /* Firefox */

-webkit-appearance:none; /* Safari 和 Chrome */

apperance属性可以改观元素的外观,加上这段css后,select元素就没有了边框、箭头和背景。appearance属性还可以使用元素显示出别的控件样式,例如button或者listbox。 接下来使用自定义的箭头放到select之上就可以了,可以将箭头盖在select之上,麻烦的是要考虑布局和事件的问题。

如果对箭头的要求比较不高,可以使用标签,本来是用于给文字加粗的,但如果文字是空的话,其border属性可以模拟一个箭头效果出来。

select {

width: 60%;

height: 40px;

background-color: rgb(246, 171, 138);

appearance: none;

-moz-appearance: none;

-webkit-appearance: none;

}

b {

border-color: #FFF rgb(246, 171, 138) rgb(246, 171, 138);

border-style: solid;

border-width: 4px;

position: absolute;

top: 36px;

margin-left: -22px;

}

参见上述css,标签的border属性,只有最上方设置成白色,其他三个方向上的颜色和select背景一样,这样,就可以呈现出来。另外,这种办法因为是对文本的修饰,所以并不会影响select属性的点击事件。效果如下图:

0818b9ca8b590ca3270a3433284dd417.png

文字左右居中

select标签的另外一大难题就是文字的左右居中问题,text-align:center不起作用。幸运的是,有一个属性对select还是有效的,这就让我们操作文字居中有了可能。这个属性就是text-indent,文字缩进。

只要通过js计算出select的宽度和文字的宽度,得到缩进距离,就能实现文字居中了。

select的宽度很好计算,关键是文字的宽度怎么办呢?div是不能测量文字长度的,刚好就可以,所以很简单,在页面某个位置放一个display:none的span标签,文字属性设置和select文字属性完全一样,塞上一两个汉字,专门用来测量文字宽度。

博主就是通过这样的土鳖办法来解决的。在实际操作中,发现测量出来的文字宽度和select下用到文字宽度有一丢丢差异,肉眼观察还是能觉察到的。估计是和select字体没能设置到完成相同,搞不清楚原因在哪。博主直接将测试的文字宽度乘以一个系数(例如1.1),调整到差不多一致。

前端路长,坑多,还是要多下功夫!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497349.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018年,这15个领域将会呈现指数级变化

来源:36氪概要:很多趋势将会在2018年继续下去,尤其是呈现指数级增长的多技术融合。很多趋势将会在2018年继续下去,尤其是呈现指数级增长的多技术融合。气候变化依然是一个最紧迫的问题,尤其当我们通过碳预算来解决问题…

中文WAP浏览器WapDisplayer V1.5发布

中文WAP浏览器WapDisplayer V1.5发布 中国被爱可以在线于2005-9-26发布了中文WAP浏览器WapDisplayer V1.5,欢迎大家下载使用。程序简介:WapDisplayer V1.5是一款利用M3Gate控件开发的中文WAP浏览器,除了保留原英文版M3Gate Version 1.2 beta的…

《自然》杂志:超导突触处理信息能力超人脑

来源:科技日报概要:据英国《自然》杂志网站近日报道,美国科学家研制出一款模拟人脑神经中枢处理过程的超导突触,其信息处理速度比人脑更快,而且更高效。据英国《自然》杂志网站近日报道,美国科学家研制出一…

世界首批智能音箱AI IQ测试报告,小米、京东和阿里初步PK

一、小米、京东和阿里智能音箱测试结果:二、测试说明:1.对智能产品进行智商测试,是一项没有先例的科学实验和研究,因此研究会处于不断修正和发展的过程,研究团队并不认为这个测试结果是完全成熟和客观的。希望通过测试…

人工智能产业展望:2018年三大难题如何破解?

来源:腾讯研究院概要:当前,AI的竞争已然升级到国家竞争。当前,AI的竞争已然升级到国家竞争。2017年首次出现了“AI中国威胁论”。谷歌前董事长施密特公开抱怨美国政府对企业在人工智能领域的支持不足,这将使美国“在10…

在每天下午五点使用计算机,邮件攻击主要是_每天下午5点使用计算机_apt的攻击目标一般不是...

4.6.1 邮箱工具软件(2)(3)Close(退出)(4)【Edit】→【Settings(设置)】KaBoom还可以进行一些设置,在主界面上选择【Edit【】→【Setting】,然后弹出如图4.6.4所示的对话框,其中有下列信息:Losers:被攻击目标列表&#…

用SQL实现记录上下移动的思路

在做管理系统时,不可避免会要求对记录进行上下移动. 假如我们有一张表 t_test ,它的字段如下: CREATETABLE[dbo].[t_test]( [sysid][bigint]NOTNULL, [cname][nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, [position][int]NULL) 其中的position用来表示记录…

误删了计算机桌面回收站,我电脑回收站里的东西已经被删除几天了?怎么可以找回!谢谢...

可以通过数据恢复软件来进行恢复的操作,具体如下:步骤一:在常用的电脑浏览器上搜索【互盾数据恢复软件】,然后将安装包下载至电脑上,安装完成,下载和安装的路径都要避免回收站所在的分区,避免造…

代码整洁之道--思维导图

#思维导图源码 System.out.println("https://www.processon.com/view/60dede90e401fd7e342b3fc3?fromnew1");

人工智能、区块链、图灵测试....这29个大数据热词你知道几个?

来源:中国科协智能制造学会联合体2017年,大数据产业依旧保持高速增长态势,并从单一的技术概念逐渐转化为新要素、新战略、新思维。鉴别真假内行的时候来了,你真的明白这些科技热词的意思吗?以下为您挑选了29个和大数据…

Replace Data Value with Object(以对象取代数据值)

有一个数据项,需要与其他数据和行为一起使用才有意义 将数据项变成对象。 动机 开发初期,你往往决定以简单的数据项表示简单的情况。但是,随着开发的进行,你可能会发现,这些简单数据项不再那么简单了。比如说&#xf…

美研究揭示大脑如何学习语言

来源:中国科学报美国一项新研究表明,人类用于学习语言的大脑回路还能“兼职”其他用途,而非此前认为的是专门用于学习语言的模块。发表在最新一期美国《国家科学院学报》上的这项研究显示,儿童学习母语及成年人学习外语时使用的大…

计算机如何获取知识和技能 实现自我完善,在人工智能中有一个研究领域,主要研究计算机如何获取知识和技能,实现自我完善,这门分支学科叫做。...

摘要:协议在T中,人主要门主要标志地理是指。有域研究情绪调节词解法名释。究领计算机技能叫现场名词解释实验。...协议在T中,人主要门主要标志地理是指。工智个研霍桑在并证的存发现实验实了。有域研究情绪调节词解法名释。改善质的积累引起必…

Change Value to Reference(将值对象改为引用对象)

从一个类衍生出许多彼此相等的实例,希望将他们替换为同一个对象 将这个值对象变成引用对象。 动机 在许多系统中,你都可以为对象做一个有用的分类:引用对象和值对象。前者就像“客户”、“账户”这样的东西,每个对象都代表真实世…

人工智能创业指南:AI 产品未来的发展模式及策略

来源:36氪概要:未来,AI会成为一种基础服务,同时,这种服务会像电力一样通过网络进行传输。有观点认为,未来,AI会成为一种基础服务,同时,这种服务会像电力一样通过网络进行…

实现一个压缩Remoting传输数据的Sink:CompressionSink (转载)

在前两讲《初探.Net Remoting服务端 Loading Remtoing配置内容的过程 》《初探.Net Remoting客户端 Loading Remtoing配置内容的过程 》中,我已经分析了Remoting 的Sink机制,接下来,就提供一个具体的范例:CompressionSink(原始Sou…

江西省2019计算机二级报名日期,2020年3月江西计算机等级报名时间、报名入口【2019年12月18日-27日】...

【导语】《2020年3月江西全国计算机等级考试工作通知》现已发布。2020年3月江西计算机等级报名时间:2019年12月18日-27日,考试时间:2020年3月28日-30日,小编现将报考信息发布如下:一、报名时间2020年3月江西计算机等级…