小编Dou*_*oug的帖子

如何停止在浏览器中呈现的内联块空格

粗略地说,尝试构建一个四列布局,我有这个HTML:

<div>
    <div>A column</div>
    <div>A column</div>
    <div>A column</div>
    <div>A column</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我有这个CSS:

div {
    background: #ccc;
}

div div {
    background: #eee;
    display: inline-block;
    width: 25%;
}
Run Code Online (Sandbox Code Playgroud)

- > 把我搞砸了 < -

当在浏览器中呈现时(目前,我一直在使用Chrome进行测试),渲染嵌套div元素之间的空白(在此示例中,空格是由换行符引起的),从而抛出我的布局.

显然,我可以浮动我的嵌套div ...

div {
    background: #ccc;
}

div div {
    background: #eee;
    width: 25%;
    float: left;
}
Run Code Online (Sandbox Code Playgroud)

- > 把我搞砸了 < -

但后来我的容器div崩溃了,我不想必须使用CSS clearfix hacks或额外的HTML来打开它.

或者,我可以修改我的HTML,以便删除空格...

<div><div>A column</div><div>A column</div><div>A column</div><div>A column</div></div>
Run Code Online (Sandbox Code Playgroud)

但这使得它难以使用.打破标签以使其变得更具可读性的另一种选择让我感觉很脏......

<div>
    <div>A column</
    div><div>A column</
    div><div>A column</
    div><div>A column</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我发现一个资源2(我没能找到任何SO),但我真的不喜欢任何的解决方案-他们都是解决办法,我会,如果我必须受理,但肯定有别的选择吗? …

css whitespace multiple-columns

7
推荐指数
2
解决办法
2930
查看次数

jQuery ajax和Chrome缓存问题?

我正在构建一个联系表单,通过jQuery使用ajax来获取CAPTCHA图像(和隐藏的数据字段)并在DOM准备好后将其放入表单中.此外,当单击CAPTCHA图像时,它会重新加载图像(和隐藏数据字段).

CAPTCHA图像创建脚本是我自己创建的,我已经使用了几年 - 它非常强大且工作正常,但这是我第一次尝试通过ajax将其集成到网站.

粗略地说我有以下jQuery.我认为支持HTML/CSS/PHP是相当无关紧要的 - 我可以提供一些如果有必要,但它似乎工作得很好...问题似乎是与jQuery或浏览器缓存Chrome ...

$(document).ready(function() {
    commentFormCaptchaWrapper = $('#captchawrapper');

    // Check DOM for CAPTCHA wrapper... if it's there get the CAPTCHA image
    if (commentFormCaptchaWrapper.length > 0) {getCaptchaImage()}

    // If the CAPTCHA image is clicked get a new one
    commentFormCaptchaWrapper.click(getCaptchaImage);
});


function getCaptchaImage(){
    commentFormCaptchaWrapper.html();
    $.ajax({
        url: '/captcha/ajax.captcha.php',
        type: 'post',
        cache: false,
        success: function(response){
            commentFormCaptchaWrapper.html(response);
        },
        error: function(response){
            alert ("Ajax Error");
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

一切正常我在Firefox(以及Opera,IE)中的使用方式,但它在Chrome中不起作用.在Chrome中,CAPTCHA图像和隐藏字段的初始ajax调用工作得很好,但是当你单击CAPTCHA时,Captchawrapper div被清空时会有一个短暂的闪烁(因此检测到点击确定)但它会重新加载相同的图像.

为了简要解释我的CAPTCHA脚本,通常它会根据某些文本生成图像并加密内容以用作文件名(带有时间戳后缀) - 然后使用唯一名称缓存图像.因此,CAPTCHA脚本在每次使用时都会提供不同的文件名,完全唯一.

我还没有完全掌握jQuery的速度,但是据我所知,我已经关闭了jQuery中的ajax缓存所以我无法弄清楚出了什么问题......有人可以帮忙吗?

ajax jquery caching google-chrome cross-browser

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