• input 和 button 的 border-box 模型和 IE8 错位


    用 input 和 button 时出现了几个奇怪的现象,先放几个 input 和 button
    image

    CSS:

    * {
        margin:0;
        padding:0;
    }
    input,button {
        width: 100px;
        height: 50px;     
        text-align: center;       
    }

    HTML:

    <form action="">
        <input type="text" value="input.text 1" />
        <input type="text" value="input.text 2" />    
        <input type="button" value="input.button 1" >    
        <button type="button">button 1</button>
    </form>

    我们可以得出这么几个结论:


    1、input 和 button 作为内联块状元素,有默认的外边距,当然这个可以通过 margin 负值来解决,详细解决方案看这里;


    2、input.text 和 input.button 或 button 的盒子模型显然不一样,input.text 是 content-box,标准盒模型;而 input.button 或 button 是 IE 的盒模型:border-box ,这是重点


    除此之外,还有个槽点,看看 IE8

    image

    这种情况解决方法,两步走:

    1、vertical-align:middle

    image

    2、line-height 设置为 height

    ie8-v-l

    3、单独设置 input.button 和 button 的高度

    ie8-v-l-s

    修改后的 CSS 如下:

    * {
        margin:0;
        padding:0;
    }
    input,button {
        width: 100px;
        height: 50px;     
        text-align: center;   
        vertical-align: middle;   
        line-height: 50px;          
    }
    input[type='button'],button {
        width: 104px;
        height: 54px;
        line-height: 54px;
    }

    神奇~所以以后表单元素可以默认都加上,反正也不影响,还兼容IE8,原理没有细究.

    行文仓促,如有错误,欢迎批评指正~~~

  • 相关阅读:
    TFIDF
    奇异值分解(singular value decomposition,SVD)
    (转载)先验分布
    在博客中写公式的两种方法
    linux 下配置JDK JRE ECLIPSE TOMCAT
    tensor decomposition
    Form界面设置只读
    FORM LOV特性
    在Oracle Form中,如何实现自动编号(行号)的功能
    文件夹错误frm41097,frm41053
  • 原文地址:https://www.cnblogs.com/xianshenglu/p/8033826.html
Copyright © 2020-2023  润新知