遇到 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。

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

input与select 设置相同宽高,在浏览器上却显示不一致,不整齐的更多相关文章

  1. 关于html中的设置body宽高的理解

    有时候看到别人的代码中经常出现在body中设置的宽高,不是很理解,于是自己测试了下,瞬间懂了,废话不多说,直接上代码: 首先创建好一个基本的html文件,设body的背景色为red: 相信大家都知道效 ...

  2. 使用input:file控件在微信内置浏览器上传文件返回未显示选择的文件

    使用input:file控件在微信内置浏览器上传文件返回未显示选择的文件 原来的写法: <input type="file" accept="image/x-png ...

  3. absolute和relative元素 设置百分比宽高的差异

    一般元素在页面所占的空间包括:magin border padding content.以前一直以为子元素设置百分比宽高都是以父元素的content值为基准计算的.但是当子元素的position不同时 ...

  4. Matrix: 利用Matrix来设置ImageView的宽高,使图片能正常显示

    在Android中加载ImageView一般都不会给ImageView的宽高设置一个确切的值,一般都是直接写成: <ImageView android:id="@+id/iv_test ...

  5. 4.7做作业时发现,内联元素设置宽高背景以后正常不显示,但是设置了position:absolute;以后就可以显示了。起到了和display:block;一样的效果。然后查了一下知道了。

    如果内联元素定位属性设置为:absolate,元素脱离文档,即使a元素中没有内容,设置的背景依然会显示!

  6. 前端web设置div宽高一样

    <div class="constant-width-to-height-ratio"></div> .constant-width-to-height-r ...

  7. 在input中实现点点点与当鼠标移上去时显示剩余的字

    项目中经常会遇到这个问题,在一个内容框中,由于框的宽度是固定的,但是里面的内容却有很多,那么这个时候需求里就要求第一,多余的字要以点点点的形式隐藏,第二,当鼠标移上去的时候要以title提示的方式显示 ...

  8. 在iis中设置文件下载而不是在浏览器上打开

    点击网页链接的*.txt,*.jpg,*.xml等文件时会在浏览器上直接显示,并没有像*.doc那样弹出下载提示框. 解决方法: 在部署的网站上,选择存放文件的目录,选择 HTTP响应标头 ,添加一个 ...

  9. IE6和IE7中<a>标签宽高设置无效的问题

    昨天写了一个引导界面, 发现界面中的IE67存在一个问题, 在某些情况下,  A锚链接如果设置了宽高,而且position:absolute的情况下, A标签的宽高无效, 至于总体的效果, 因为这个A ...

随机推荐

  1. python 读取全国城市aqi数据,差值生成png图片

    # -*- coding: utf-8 -*- import arcpy import sys import datetime import cx_Oracle import json import ...

  2. CSS选择器无法找到td

    .table >  tr > td  <----这样无法找到td 因为table在浏览器下会自动生成tbody,这样即可 .table > tbody > tr > ...

  3. Yeoman

    安装Yeoman之前,确认安装好Node.js和npm. sudo npm install --global yo 然后查看软件版本 yo --version && bower --v ...

  4. JavaEE基础(六)

    1.面向对象(面向对象思想概述) A:面向过程思想概述 第一步 第二步 B:面向对象思想概述 找对象(第一步,第二步) C:举例 买煎饼果子 洗衣服 D:面向对象思想特点 a:是一种更符合我们思想习惯 ...

  5. 如何查看Python的内置函数

    经常调用的时候不知道python当前版本的内置函数是哪些,可以用下面的指令查看: C:\Users\Administrator>python Python 2.7.11 (v2.7.11:6d1 ...

  6. HDU 4315:Climbing the Hill(阶梯博弈)

    http://acm.hdu.edu.cn/showproblem.php?pid=4315 题意:有n个人要往坐标为0的地方移动,他们分别有一个位置a[i],其中最靠近0的第k个人是king,移动的 ...

  7. http://www.cnblogs.com/xqin/p/4862849.html

    一.前言 半年前左右折腾了一个前后端分离的架子,这几天才想起来翻出来分享给大家.关于前后端分离这个话题大家也谈了很久了,希望我这个实践能对大家有点点帮助,演示和源码都贴在后面. 二.技术架构 这两年a ...

  8. 水流雨渍shader

    战神斯巴达之魂的雨渍做的很逼真,尝试了下,似乎是差不多了,整体欠缺不少 普通平面: 环形流动: 河流: shader实现,3层加上一个偏移层 圆形的雨渍流动和河流要重新展一下UV

  9. Web应用程序状态管理(上)

    一:概述Http协议使用的是无状态连接:客户浏览器与服务器建立连接-发出请求-得到 响应-关闭连接.话句话说,连接只针对一个请求/响应.由于连接不会持久保留 所以容器认不出做第二个请求的客户与做前一个 ...

  10. java实现UDP协议传输DatagramSocket

    摘自:http://blog.csdn.net/wintys/article/details/3525643/ Server端. package com.topca.server; import ja ...