博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
input与select 设置相同宽高,在浏览器上却显示不一致,不整齐
阅读量:5174 次
发布时间:2019-06-13

本文共 1165 字,大约阅读时间需要 3 分钟。

遇到 input与select 设置相同宽高,在浏览器上却显示不一致,遂实验了下(IE 10.013 ,Firefox 30.0),得出以下结论

input   width,height 值里面, 不包含 border边框和padding内边距,即:设置的只是内容本身的高与宽。border与padding不在值里面,在浏览器上显示可见。

select  width,height 值里面, 包含 border边框和padding内边距,即:设置的高宽里面包含了内容本身,border与padding的整体。padding值,border,内容是从值里面分走的高宽度,所以内容高宽会相对减小。如果padding值超过了对应值,整体样式会变。

所以,两者设置相同的值,却会显示不整齐。

 

下图黄色为border边框,绿色padding,中间的蓝色是内容。

         下图input                  下图select

input{ height:32px; width:200px; }       select{ height:32px; width:200px; } 

 

显示:

input{ height:32px; width:200px; }       select{ height:clac(32px + 2px); width:clac(200px + 2px); }

显示:

input{ height:32px; width:200px; padding:10px 10px; }  select{ height:clac(32px + 2px); width:clac(200px + 2px); padding:10px 10px; }

显示:

           

 

以上实验在pc端实用,今天发现在手机端行不通,特此为记:

在手机端的状态是,width可以设置宽度,而高度用height不顶用,两种方法可以改变高度:

1.font-size可以撑起宽度,但字体改变了

2.加上multiple时宽度可用,但option变成多选状态了;

所以以上都不完美

解决方法:

    把select放到一个div里面,把div高宽调成与同级input相同,设置overflow:hidden隐藏select溢出,select宽度设成100%,border:none,

至于垂直居中:由于select不能设高度,就用jquery控制,获取select高度outerHeight, margin-top:div高度减去它除以二,select设display:block。

好了,说到这里了,下次用到时参考下,在调试吧。

 

 

转载于:https://www.cnblogs.com/qing-xuanlvyee/p/3868702.html

你可能感兴趣的文章
linux加密文件系统 fsck 无法修复一例
查看>>
【linux配置】VMware安装Redhat6.5
查看>>
AI自主决策——有限状态机
查看>>
《http权威指南》阅读笔记(二)
查看>>
软件工程
查看>>
http协议
查看>>
js替换问题replace和replaceAll
查看>>
c++11 : range-based for loop
查看>>
中国农历2013,2014 (zz.IS2120@BG57IV3)
查看>>
用virtualenv建立独立虚拟环境 批量导入模块信息
查看>>
Sublime Text3 插件:convertToUTF8
查看>>
BZOJ4060 : [Cerc2012]Word equations
查看>>
hdu2089不要62(数位dp)
查看>>
JAVA输出最大值和最小值
查看>>
64位weblogic11g安装
查看>>
oracle、mysql、sql server等;流行数据库的链接驱动配置
查看>>
UvaLive 6664 Clock Hands
查看>>
PCB 周期计算采用 SQL 函数调用.net Dll 标量函数 实现
查看>>
Problem B: 取石子
查看>>
Python学习笔记001——Linux
查看>>