小编Pau*_*ite的帖子

文本缩进:-9999px是一种用图像替换文本的糟糕技术,有哪些替代方案?

这篇文章说我们应该避免使用这种技术.这个说它很棒.谷歌在CSS文件中寻找text-indent: -9999px;并惩罚你是真的吗?:|

我使用的财产很多隐藏的文本.例如,我有一个由图标表示的按钮:

<a href="#" class="mybutton">do Stuff</a>

CSS:

.mybutton{
  text-indent: -9999px;
  background: transparent url(images/SpriteWithButtons.png) no-repeat 20px 20px;
  display: block;
  width: 16px;
  height: 16px;
}
Run Code Online (Sandbox Code Playgroud)

我没有看到任何替代我的代码.如果我用图像替换它,我会自动为每个按钮图像获得+20 HTTP请求.

如果我将链接设置为空,则它的访问次数较少,因为屏幕阅读器不会知道它是什么.空链接看起来很奇怪,可能Google也不喜欢这样......

那么处理这种情况的最佳方法是什么?

html css seo text-indent

25
推荐指数
2
解决办法
1万
查看次数

在Javascript中使用对象和函数进行命名空间有什么区别?

我在JavaScript中看到了这两种基本的命名空间方式.

  1. 使用对象:

    var Namespace = { };

    Namespace.Class1 = function() { ... };

  2. 使用功能:

    function Namespace() { };

    Namespace.Class1 = function() { ... };

他们有什么不同?谢谢.

javascript

24
推荐指数
2
解决办法
1万
查看次数

GZIP与DEFLATE压缩的优势是什么?

我有一个asp.NET 4(C#)的网站.

我正在努力寻找一种方法来更好地优化我的网站带宽.

我读了许多文章说DEFLATE比GZIP更快更小,因为GZIP(基于DEFLATE)增加了一些额外的数据.

检查bing.com和google.com的标题,它们似乎都发送了GZIP编码的数据.

假设我读到的是真的,我在这种情况下错过了GZIP的优势.所以我怀疑应该有一个很好的理由来选择GZIP来解决.

我的问题:

  • GZIP是否提供超过DEFLATE的任何优势我不知道?
  • 有什么线索为什么主要的搜索引擎使用GZIP?

这是我用来发送DEFLATE的代码(来自Global.asax):

protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
    {

        HttpApplication app = sender as HttpApplication;
        string acceptEncoding = app.Request.Headers["Accept-Encoding"];
        Stream prevUncompressedStream = app.Response.Filter;

        if (!(app.Context.CurrentHandler is Page ||
            app.Context.CurrentHandler.GetType().Name == "SyncSessionlessHandler") ||
            app.Request["HTTP_X_MICROSOFTAJAX"] != null)
            return;

        if (acceptEncoding == null || acceptEncoding.Length == 0)
            return;

        acceptEncoding = acceptEncoding.ToLower();

        if (acceptEncoding.Contains("deflate") || acceptEncoding == "*")
        {
            // defalte
            app.Response.Filter = new DeflateStream(prevUncompressedStream,
                CompressionMode.Compress);
            app.Response.AppendHeader("Content-Encoding", "deflate");
        }
        else if (acceptEncoding.Contains("gzip"))
        {
            // gzip
            app.Response.Filter …
Run Code Online (Sandbox Code Playgroud)

html asp.net optimization http-headers

24
推荐指数
2
解决办法
1万
查看次数

如何强制IE10在IE9文档模式下呈现页面

我有两个问题:

  1. 如何强制IE10在IE9文档模式下呈现?目前它正在以标准文档模式呈现我的页面.

  2. 在IE10的开发人员工具栏中,我无法看到IE10的文档模式选项.它没有实现,或者我的浏览器版本是否已过期?

感谢你的帮助.


编辑:感谢大家提供的解决方案.之前我使用元标记 <meta http-equiv="x-ua-compatible" content="IE=edge" > 只是为了确保IE将以最高文档模式呈现页面,但我遇到了IE10标准模式的一些问题,因此我更改了元标记以在IE9模式下呈现页面: <meta http-equiv="x-ua-compatible" content="IE=9" >.

html browser internet-explorer-10

24
推荐指数
4
解决办法
13万
查看次数

使用Twitter Bootstrap时,如何在textarea等宽字体中制作文本?

我有以下textarea元素:

<form action="/checkit" method="get">
    <textarea class="field span8" id="textarea" name="user_input" 
        rows="20">{{default_data}}</textarea>

    <input type="submit" value="Checker">
</form>
Run Code Online (Sandbox Code Playgroud)

我刚刚开始使用bootstrap,但无法找到在textarea monospace中制作文本的最佳方法.

css twitter-bootstrap

24
推荐指数
2
解决办法
2万
查看次数

如何从Django提供文本文件?

我正在写一个基于Django的网站,但需要提供一个简单的文本文件.这是通过将它放在静态目录中并绕过Django的正确方法吗?

django

24
推荐指数
3
解决办法
2万
查看次数

使用"background-size:cover"的CSS背景不适合整个高度

我正在制作一个只显示SVG图像的页面,以下是要求:

  • 向量应该占据整个窗口
  • 向量应保持其宽高比(在SVG文件中定义)
  • 矢量应裁剪/剪辑以防止歪斜

CSS ......

body {
  background: url(/path/to/image.svg);
  background-size: cover;
}
Run Code Online (Sandbox Code Playgroud)

... 几乎完美地工作,除了当浏览器窗口变得太窄时,它会平铺而不是裁剪/剪裁.

以下是一些屏幕截图(请忽略dabblet留下的文物): 窗口接近纵横比

这里窗口接近原始图像的宽高比 窗口

这里窗口比纵横比"更短",并且图像正在裁剪(根据需要). 在此输入图像描述

这里的窗口比纵横比"更窄",但不是裁剪,而是图像平铺(不希望的).

以下是我的一些想法......

  • 我可以通过某种方式更改SVG图像以防止这种情况发生吗?
  • 我可以标记/设置页面样式以达到预期效果吗?
  • 我宁愿保持HTML/CSS的范围,但如果需要Javascript,那么就这样吧.

这是我正在使用的dabblet ... http://dabblet.com/gist/6033198

css svg

24
推荐指数
1
解决办法
4万
查看次数

如何在服务器端.NET中使用HTML5电子邮件输入类型

据我了解,<input type=email>HTML5中的元素将在不支持该标记的浏览器中呈现为一个简单的文本字段.在其他浏览器上,它将正确呈现,就像在iPhone上一样,它将调出电子邮件键盘布局.

我想在项目中使用它,但我的输入字段是<asp:TextBox>控件.我如何使用HTML5元素,但仍像其他字段一样访问其数据服务器端?

asp.net html5 webforms

23
推荐指数
4
解决办法
3万
查看次数

是否存在HTML5音频的不完整事件?

是否有oncompleteHTML5音频事件?我在这上面找不到任何东西.我想在完成后播放声音.

好吧,特别是我试图一个接一个地播放一系列声音.

谢谢.

javascript audio html5

23
推荐指数
2
解决办法
3万
查看次数

jQuery Deferred,$ .when()和fail()回调参数

$.when()当其中一个延迟操作不成功时使用时,我得到一个意外的结果.

拿这个JavaScript,创建2个延迟.第一个成功,第二个失败.

var f1 = function() {
    return $.Deferred(function(dfd) {
        dfd.resolve('123 from f1');
    }).promise();
};

var f2 = function() {
    return $.Deferred(function(dfd) {
        dfd.reject('456 from f2');
    }).promise();
};

$.when(f1(), f2())
    .then(function(f1Val, f2Val) {
        alert('success! f1, f2: ' + JSON.stringify([f1Val, f2Val]));
    })
    .fail(function(f1Val, f2Val) {
        alert('fail!    f1, f2: ' + JSON.stringify([f1Val, f2Val]));
    });
Run Code Online (Sandbox Code Playgroud)

自己运行:http://jsfiddle.net/r2d3j/2/

我明白了 fail! f1, f2: ["456 from f2", null]

问题是在.fail()回调中,随f2()拒绝传递的值被路由到第一个参数,我希望在那里f1Value.这意味着我真的没有办法知道哪个延迟对象实际发布了这个reject(),而且我也不知道故障数据实际属于哪个操作.

我原以为这.fail()会得到参数,null, '456 from …

javascript jquery jquery-deferred

23
推荐指数
2
解决办法
2万
查看次数