css3技术

Div+CSS网页制作教程:表单button的text-indent_div+css教程

字号+ 作者:H5之家 来源:H5之家 2015-09-15 14:36 我要评论( )

Div+CSS网页制作教程:表单button的text-indent,学习Div+CSS网页制作教程:表单button的text-indent,Div+CSS网页制作教程:表单button的text-indent,查看Div+CSS网

Div+CSS网页制作教程:表单button的text-indent设置方法


HTML

<input type="submit" value="Submit" id="btn" />

HTML

<input type="submit" value="Submit" id="btn" />

CSS Code

    在这个实例中,通过图片背景来制作Button,采用了图片替代文字最常用的一种方法“text-indent”来制作


#btn {
      width:114px;
      height:37px;
      border: none;
      background: transparent url(images/submit_btn.gif) no-repeat center;
      overflow: hidden;
      text-indent: -999px;
    }

上面代码,在现代浏览器中不会有任何问题,可是在IE下“text-indent:-999px”是不起作用的,请看效果图:

我们该如何解决?

    为了让各浏览器下能正常化显示,我一般碰到这样的问题都是在上面的代码基础上加上“font-size和line-height之类的设置”:

#btn {
width:114px;
height:37px;
border: none;
background: transparent url(images/submit_btn.gif) no-repeat center;
overflow: hidden;
text-indent: -999px;

font-size:0;
line-height:0;
display:block;

}

    这样一来就能达到各浏览器下一样的效果了。最后我们在来看看他是如何工作的。或者说为什么要加上这几行代码?

    font-size:0加上font-size:0后,可以解决IE7下显示文字的问题(换句话来说,通过设置font-size等于0后,button在IE7浏览器中不会显示文本出来,达到想要的效果),但是在IE6下会有明显的一条直线,而且线条色和前景色相同。
line-height:0第一条中说过了,font-size只有解决IE7下的问题,留下了一条直线在IE6中显示,要解决这个问题也简单,我们可以通过line-height设置为0来解决。

display:block将button按块元素显示

    这就是为何要这样设置的原因了。有时候在这样设置了以后还会给你的button留下一个小点点,我一般是通过color来设置:


#btn {
      width:114px;
      height:37px;
      border: none;
      background: transparent url(images/submit_btn.gif) no-repeat center;
      overflow: hidden;
      text-indent: -999px;
     
        font-size:0;
        line-height:0;
        display:block;
     
     
        color: #fff;
        text-align: right;
     
    }

    这有一个小技巧需要特别注意:这里的color色选择其背景相近的色,让人肉眼看不出来,我一般是将其文本放置左边或右边,然后择其最相近的颜色做为背景色。比如这个实例,我们选了白色。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评