zoukankan      html  css  js  c++  java
  • 火狐的一个bug

    发现这个bug是因为最近眼睛不太好,所以网页大小都是正常大小的140%

    就发现火狐游览器好多网页上的输入框与按钮对不齐

    测试代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	<style type="text/css" media="screen">
    		*{
    			box-sizing: border-box;
    		}
    		#input{
    			height: 20px;
    			border: 1px solid rgb(51,51,51);
    			padding: 0px;
    			 40px;
    		}
    		button{
    			height: 20px;
    			border: 1px solid rgb(51,51,51);
    			padding: 0px;
    			 40px;
    		}
    		div{
    			border: .5px solid rgb(51,51,51);
    		}
    	</style>
    </head>
    <body>
    	<input type="text" name=""  id="input">
    	<button type="" >按钮</button>
    	<br/>
    	<br/>
    	<input type="text" name=""  id="input">
    	<input type="button" name=""  id="input" value="按钮">
    	<br/>
    	<br/>
    	<button type="">按钮3</button>
    	<button type="">按钮4</button>
    	<br/>
    	<input type="button" name=""  id="input">
    	<button type="" >按钮</button>
    	<div>
    		asd
    	</div>
    </body>
    </html>
    

      很简单就一个输入框与按钮

    先看一下网页100%大小时的效果

      先看着两行代码input+button

    <input type="text" name=""  id="input">
    <button type="" >按钮</button>

    很明显输入框比按钮低了一个像素

    一开始我以为这可能是类似ie三像素的问题

    但是我把网页放大到160%

    变成上面border对齐下面border缺1px

    网页190%

    上下全部对齐

    是不是觉得很奇怪吧

    再测试第二组

    <input type="text" name=""  id="input">
    <input type="button" name=""  id="input" value="按钮">
    大家可以试一下,在不同的放大倍数时会有不同的对齐方式
    测试第三组
    <button type="">按钮3</button>
    <button type="">按钮4</button>
    没有问题,任何大小倍数都没有问题
    测试第三组
    <input type="button" name=""  id="input">
    <button type="" >按钮</button>
    在不同的放大倍数时会有不同的对齐方式
    目前得出的结论:输入框加按钮不论是用input+input还是input+button都会有问题
    先看一下出现问题的一些页面吧
    150%

    上面对齐,下面有1px缩进

    看了一下百度的代码:

    输入框高度:34px;

    按钮高度:36px;(他们估计也发现这个问题了。。。。。特地设的大点,可以在某个范围内的保持不变形)

    火狐导航页

    按钮下面白了一条

    解决方案:

    1:使用input+div(按钮)

    2:使用多层嵌套用外层div的边框来遮住1px像素的问题

    3:像百度一样稍微写大点,保持某些程度不变形

    方案2代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css" >
    .big-select{
    border: 1px solid rgb(51,51,51); 300px;
    }
    .select-input{
    height: 20px;box-sizing:border-box; 200px;float: left;
    }
    .select-button{
    height: 20px;box-sizing:border-box; 100px;float: left;
    }
    </style>
    </head>
    <body>
    <div class="big-select">
    <div class="select-input"><!--输入框-->
    <input type="text" style=" 100%;height: 20px;box-sizing:border-box;border:0px;"></input>
    </div>
    <div class="select-button"><!--按钮-->
    <button type="" style=" 100%;height: 20px;box-sizing:border-box;border:0px;">搜索</button>
    </div>
    <div style="clear: both;">

    </div>
    </div>
    </body>
    </html>

    完美~无限放大缩小不变形

    关于对这个问题的一些猜测

    刚开始:我以为是3像素问题,后来觉得不对(因为这是火狐。。。。。)

    又觉得是px计算时候的抹零取整,或者是四舍五入的类似问题(测试不是这个问题)

    暂时无解

    顺便发现了firebug测试工具的问题

    当边框为0.7px时火狐自带的调试工具:盒模型显示.7px

    firebug盒模型显示0px

    游览器版本

    测试时间:2016-8-23

  • 相关阅读:
    如何上传整个项目或者是文件夹到github
    阅读笔记16-架构师推荐:提高90%开发效率的工具推荐
    阅读笔记15-这些普通的程序猿,如今都已进阶成为技术大佬
    python爬虫——爬取淘票票正在热映电影
    阅读笔记12-Java 面试题 —— 老田的蚂蚁金服面试经历
    SOA架构设计案例分析
    阅读笔记11-孤独后厂村:30万互联网人跳不出的中国硅谷
    阅读笔记09-Java程序员必备的Intellij插件
    阅读笔记08-程序员依然是这个时代,贫寒学子翻身的不二选择
    os.path.join()
  • 原文地址:https://www.cnblogs.com/ututuut/p/5800942.html
Copyright © 2011-2022 走看看