CSS隐藏页面文字的几种方式总结

  方式一:text-indent:-9999px

  不多说,ext-indent负值为最常用方法,然问题有三:

  1.较大的负值有性能问题,例如新浪/腾讯微博提交按钮的-9999em,大概12~16万像素的宽度,相对于100个显示器宽度,在低配Android pad上,尤其含动画效果的时候,会直接卡爆;

  2.FireFox浏览器下虚框。其实问题不大,overflow:hidden可修复;

  3.不能应用在IE6/IE7伪inline-block水平元素上,否则元素会被text-indent拐走。

  即使有人提出:

{ text-indent: 100%; white-spacing: nowrap; overflow: hidden; }  

  除了性能有所缓解,后面两个问题依旧存在。

  方式二:font-size:0

  此方式在没有给容器设置height 或者行高的情况下,设置font-size:0,则容器将无高度

  方式三:设置padding,撑开容器

<style type="text/css">   
 .btn{height: 22px;width: 55px;overflow: hidden;}   
 .btn_download{display: inline-block;width:55px;height: 22px;padding-top:22px;background:url(btn_download.gif) no-repeat;text-align:center;}   
</style>   
<div class="btn">   
 <a class="btn_download" href="#" title="下载">下载</a>   
</div>  

  方式四:letter-spacing+first-letter

  1.此方法兼容IE6+, 适用于inline-block水平元素,且适用于button元素,不过,需要是下面这种写法

<button type="button/submit">按钮</button>

  而不能是这样子:

<input type="button/submit" value="按钮" />

  2.此方法受text-align属性影响。

  text-align:left;letter-spacing+first-letter的margin使用负值,

  text-align:right;letter-spacing+first-letter的margin需要使用正值。

  值的大小其实没有定值。一般,letter-spacing绝对值大于2em可以,首字符margin可以大一些,demo中是-20em.

  3.多个:first-letter伪元素不要使用逗号分隔,貌似会全部失效,应分开写使用逗号分隔的时候逗号前面一定要留一个空格。否则,IE6浏览器会忽略这条声明:

.btn:first-letter,   
.img:first-letter {   
    margin-left: -20em;   
}   
  
.btn:first-letter ,    /* 逗号前需有1个空格 */  
.img:first-letter {   
    margin-left: -20em;   
}  

  4.可放到公共样式中,单独调用

.notext {   
    text-align: left;   
    letter-spacing: -3em;   
    overflow: hidden;   
}   
.notext:first-letter {   
    margin-left: -20em;   
}  

本站原创内容,如需转载请注明来源:https://www.liutonghui.com/146.html

上一篇 2017-06-21
下一篇 2017-07-19

评论列表(0条)

  • 暂时没有评论!

发表评论

captcha

相关推荐

  • JavaScript正则表达式验证身份证号码是否合法

      正则表达式(regular expression)是一个描述字符模式的对象。下面通过本篇文章给大家介绍js正则表达式验证身份证号码是否合法,需要的朋友可以参考下本篇文章   第一种方法:   在用户注册页面有些需求要求的比较严格,需要对身份证js验证是否合法,通过此功能严格此系统软件,从而过滤到很多水客。下面就此实现方法给大家讲解下。   很多时候我们都是通过一组正则表达式来判断用户输入的身份证是否合法,那在用正则表达式判断之前,你......

    2015-09-05
    16860
  • HTML中CSS和JS链接中的版本号

      在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、js等,而不必从你的服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约一下你的服务器流量。   现在问题来了,.htaccess设置的css、js缓存都有一个过期时间,如果在访客的浏览器中已经缓存了......

    2013-10-10
    19470
  • 再谈PHP错误与异常处理

      请一定要注意,没有特殊说明:本例 PHP Version &lt; 7   说起PHP异常处理,大家首先会想到try-catch,那好,我们先看一段程序吧:有一个test.php文件,有一段简单的PHP程序,内容如下,然后命令行执行:php test.php &lt;?php $num = 0; try { echo 1/$num; } catch (Exception $e){ ......

    2017-06-12
    14010
  • JavaScrpit中异步请求Ajax实现,多个Ajax请求数据交互

      在前端页面开发的过程中,经常使用到Ajax请求,异步提交表单数据,或者异步刷新页面。   一般来说,使用Jquery中的ReferenceError: katex is not defined.post,$.getJSON,非常方便,但是有的时候,我们只需要ajax功能,这样引入Jquery比较不划算。   所以接下来便用原生JavaScrpit实现一个简单的Ajax请求,并说明ajax请求中的跨域访问问题,以及多个ajax请求的数......

    2017-07-19
    9720
  • HTML5新手入门指南

      HTML5是HTML的最新版本,引入了一系列新的元素、属性和API,使得开发者可以创建更强大、更交互性的Web页面。以下是HTML5新手入门指南的一些建议:   1. 基础结构 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="......

    2015-02-18
    18500
  • 80后为什么不再喜欢玩游戏了?

      80后一代成长于电子游戏兴起的黄金时代,曾经是电脑游戏的狂热粉丝,他们曾投入了大量时间和精力留恋于《暗黑破坏神》、《魔兽争霸》、《盟军敢死队》、《三国群英传》等经典单机游戏。然而,随着年龄的增长和心态的变化,许多80后已经不再像从前那样热衷于游戏。这个现象值得一探究竟。   首先,年龄是一个关键因素。80后如今已经步入中年,事业、家庭、社交等各种责任占据了他们生活的大部分时间。相比之下,投入大量时间玩游戏似乎不再那么现实。时间有限......

    2017-06-21
    11560
  • ThinkPHP5使用laypage分页插件实现列表分页功能

      在使用thinkPHP框架做项目的时候,经常会遇到对列表的内容进行分页。thinkPHP框架中自带了分页功能,但是有缺陷。这个缺陷是每次返回每页数据给页面时需要重新加载页面所需要的JS、CSS等资源。如果页面包含的JS过多、过大,会增加流量压力。因此,我们使用laypage插件。每次使用ajax请求获取每页的数据就可以了,不需要重复加载页面。   分页流程   流程说明:   1) 调研App.php中的函数,该函数调用fetch函......

    2018-05-11
    21140
  • 刀郎新歌《罗刹海市》引发轰动

      刀郎的新歌《罗刹海市》最近引起了轰动,但这次不是因为它的音乐本身有多么好听或传唱度有多高,而是因为歌词被许多网友解读为内涵了那英、汪峰、杨坤和高晓松等名人,引发了广泛的兴趣和热议。   歌词中的一些词汇和意象被认为与这些名人的特点和经历有关,网友们纷纷展开联想,将歌词与这些名人一一对应起来。那英被指歌词中&ldquo;那又鸟&rdquo;所指,杨坤被描述为&ldquo;马户&rdquo;,高晓松被称为&ldquo;拿扇子的公公&r......

    2023-08-03
    6060