这篇文章说我们应该避免使用这种技术.这个说它很棒.谷歌在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也不喜欢这样......
那么处理这种情况的最佳方法是什么?
我在JavaScript中看到了这两种基本的命名空间方式.
使用对象:
var Namespace = { };
Namespace.Class1 = function() { ... };
使用功能:
function Namespace() { };
Namespace.Class1 = function() { ... };
他们有什么不同?谢谢.
我有一个asp.NET 4(C#)的网站.
我正在努力寻找一种方法来更好地优化我的网站带宽.
我读了许多文章说DEFLATE比GZIP更快更小,因为GZIP(基于DEFLATE)增加了一些额外的数据.
检查bing.com和google.com的标题,它们似乎都发送了GZIP编码的数据.
假设我读到的是真的,我在这种情况下错过了GZIP的优势.所以我怀疑应该有一个很好的理由来选择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) 我有两个问题:
如何强制IE10在IE9文档模式下呈现?目前它正在以标准文档模式呈现我的页面.
在IE10的开发人员工具栏中,我无法看到IE10的文档模式选项.它没有实现,或者我的浏览器版本是否已过期?
感谢你的帮助.
编辑:感谢大家提供的解决方案.之前我使用元标记
<meta http-equiv="x-ua-compatible" content="IE=edge" >
只是为了确保IE将以最高文档模式呈现页面,但我遇到了IE10标准模式的一些问题,因此我更改了元标记以在IE9模式下呈现页面:
<meta http-equiv="x-ua-compatible" content="IE=9" >.
我有以下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中制作文本的最佳方法.
我正在写一个基于Django的网站,但需要提供一个简单的文本文件.这是通过将它放在静态目录中并绕过Django的正确方法吗?
我正在制作一个只显示SVG图像的页面,以下是要求:
CSS ......
body {
background: url(/path/to/image.svg);
background-size: cover;
}
Run Code Online (Sandbox Code Playgroud)
... 几乎完美地工作,除了当浏览器窗口变得太窄时,它会平铺而不是裁剪/剪裁.
以下是一些屏幕截图(请忽略dabblet留下的文物):

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

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

这里的窗口比纵横比"更窄",但不是裁剪,而是图像平铺(不希望的).
以下是我的一些想法......
这是我正在使用的dabblet ... http://dabblet.com/gist/6033198
据我了解,<input type=email>HTML5中的元素将在不支持该标记的浏览器中呈现为一个简单的文本字段.在其他浏览器上,它将正确呈现,就像在iPhone上一样,它将调出电子邮件键盘布局.
我想在项目中使用它,但我的输入字段是<asp:TextBox>控件.我如何使用HTML5元素,但仍像其他字段一样访问其数据服务器端?
是否有oncompleteHTML5音频事件?我在这上面找不到任何东西.我想在完成后播放声音.
好吧,特别是我试图一个接一个地播放一系列声音.
谢谢.
$.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 …
css ×3
html ×3
javascript ×3
asp.net ×2
html5 ×2
audio ×1
browser ×1
django ×1
http-headers ×1
jquery ×1
optimization ×1
seo ×1
svg ×1
text-indent ×1
webforms ×1