Javascript 场地向右加载,直到完成,然后居中加载

Javascript 场地向右加载,直到完成,然后居中加载,javascript,html,css,Javascript,Html,Css,在Stackoverflow上还有另外两个线程出现此问题。两者都不适用于我。一个是关于javascript的。我在浏览器上禁用了javascript,但仍然这样做 另一个是adsense横幅,我在这个页面上没有任何横幅 有人能告诉我为什么这是加载到右边,然后在页面完全加载时居中吗 谢谢 嗯,很难说,但这可能是因为右框中有“位置:绝对” 也许你应该摆脱以你的主要内容为中心的表格,这样就不会让你的浏览器混淆页面上每个元素的位置 在HTML中尝试此选项: <div class="SiteBody

在Stackoverflow上还有另外两个线程出现此问题。两者都不适用于我。一个是关于javascript的。我在浏览器上禁用了javascript,但仍然这样做

另一个是adsense横幅,我在这个页面上没有任何横幅

有人能告诉我为什么这是加载到右边,然后在页面完全加载时居中吗

谢谢


嗯,很难说,但这可能是因为右框中有“位置:绝对”

也许你应该摆脱以你的主要内容为中心的表格,这样就不会让你的浏览器混淆页面上每个元素的位置

在HTML中尝试此选项:

<div class="SiteBody">
<!-- remove table stuff here -->
  <div class="container">
    <!-- Your content -->
  </div>
<!-- remove table stuff here -->
</div>

这是因为表格的宽度设置为100%,其中两列用*来确定填充。*字符告诉表格确定剩余宽度并用表格填充。因此,浏览器渲染的第一个*小于中心柱的固定宽度。它甚至不会渲染第三列,直到居中发生。您可以通过firebug看到这一点,并在负载仍与右侧对齐时停止加载

<div class="SiteBody">
 <table width="100%">
  <tbody>
   <tr>
    <td width="*"></td>
    <td width="1062"></td>
    <td width="*"></td>
   </tr>
  </tbody>
 </table>
</div>

我会说一次,因为很多人可能会跳到这个上面。你们不应该用表格来设置布局,这是一种不好的做法,它会给你们带来问题,比如你们看到了什么。尽管如此,我的良心是清白的

您可以删除第一个和第三个TD,删除100%的宽度,并在父容器中设置背景。我认为这是最好的处理方法。将边距设置为0,自动,这将为您提供所需的一切

<div class="SiteBody">
 <div class="SiteMiddle">//site content</div>
</div>

<style>
 .SiteBody { background: transparent url(image of background) }
 .SiteMiddle { width:1062px; margin: 0, auto; }
</style>

//网站内容
.SiteBody{background:透明url(背景图像)}
.SiteMiddle{宽度:1062px;边距:0,自动;}
或者,这可能是最好的方法,因为它将div分层,允许您设置左侧和右侧的背景,并且仍然可以设置具有正确宽度的居中内容

<div class="SiteBody">
 <div class="SiteLeft">
  <div class="SiteRight">
   <div class="SiteMiddle">//site content</div>
  </div>
 </div>
</div>

<style>
 .SiteBody {  }
 .SiteLeft { background: transparent url(image of left background) no-repeat left top; }
 .SiteRight { background: transparent url(image of left background) no-repeat right top; }
 .SiteMiddle { margin: 0, auto; width: 1062px; }
</style>

//网站内容
.SiteBody{}
.SiteLeft{background:透明url(左背景的图像)不重复左上;}
.SiteRight{background:透明url(左背景的图像)不重复右上;}
.SiteMiddle{margin:0,自动;宽度:1062px;}

不要将表格用于布局

它们会导致页面呈现速度变慢,并可能导致非常晚的调整。我相信你已经注意到这一点;)


网站设计看起来并不复杂。我建议您在不使用表格作为布局的情况下重新制作它(播放列表的表格当然很好)。

我猜是Cufon,它在加载dom后会替换您的字体。能否更换Cufon,看看是否仍存在此问题

如果这样做不起作用,那么您能否在删除所有脚本标记的情况下建立页面的测试版本

  • 不要将表格用于布局。如果使用表格,请使用固定宽度的单元格
  • 将JS脚本标记移动到HTML代码的末尾
  • 尝试逐个禁用JS脚本,看看发生了什么
  • 使用Firebug实时监控HTML呈现

  • 在对您的网站进行分析后,以下是我的评论:-

  • 页面总重量为2736.6千字节(高)
  • CSSImages重量986KB
  • JS文件的重量为623.2千字节
  • 如果您可以在服务器上为CSSJS文件使用缓存,那么页面负载将减少
  • 正如cbracer提到的,您也应该处理这个问题

  • 我从这里删除了所有的javascript、cufon、绝对div等等

    只剩下桌子了。我以前也见过这些桌子能用。我总是使用表格,这个问题是随机开始的。无论如何,我想不出来,给我的答案都不完整


    请欣赏我在宏碁的声誉。

    左侧和右侧td是自动的,因为它们的背景太大,无法补偿屏幕非常宽的人。因此,如果你的分辨率不高,你基本上只能看到主站点。如果没有表,我如何完成相同的任务?@bladefist也只是一个提示,除非您在同一页上多次引用该类,否则它很可能是一个ID。这并不会对代码造成任何影响,只是一个最佳做法。(class=同一页面上的多个呼叫,ID=每页一个呼叫)正在接近。左/右分区在中间分区的下方,以使图像都适合屏幕。左/右div需要坐在中间,而不是坐在后面(图像没有右对齐)。我删除了横幅,以表明我通常不同意这种类型的编码,并且可能有更好的方法。但最初想到的是在.SiteBody类上设置相对位置。在siteleft和siteright类上设置固定位置。给站点主体一个与中间内容相同的固定宽度,然后将固定元素放在站点主体之外(siteleft-left:-468px,sightright-right:470px;)诸如此类我仍然需要一种方法来显示左侧和右侧图像,当它们朝中心对齐时,你在哪里看到绝对位置?我已经这样做了,从CBRRacer的评论开始。你知道我的意思。我无法让网站与DivsBracer正确对齐。DivsBracer让我开始,但让我挂起。仍然需要帮助。您的网站上有3000多个HTML错误。解决这些问题可能对解决您的问题大有帮助。即使没有,发现错误也会容易得多。是的,我看过你的链接,肯定有一些丑陋的地方可以修复。但90%是像图片中的alt之类的东西。不过谢谢,我会注意的。我桌上少了一个标签
    <div class="SiteBody">
     <div class="SiteLeft">
      <div class="SiteRight">
       <div class="SiteMiddle">//site content</div>
      </div>
     </div>
    </div>
    
    <style>
     .SiteBody {  }
     .SiteLeft { background: transparent url(image of left background) no-repeat left top; }
     .SiteRight { background: transparent url(image of left background) no-repeat right top; }
     .SiteMiddle { margin: 0, auto; width: 1062px; }
    </style>