2011-10-13 29 views
6

Có 2 luồng khác trên Stackoverflow của những người gặp sự cố này. Không áp dụng cho tôi. Một cái gì đó về javascript. Tôi vô hiệu hóa javascript trên trình duyệt của tôi, vẫn làm điều này.Tải trang web về bên phải, cho đến khi kết thúc, sau đó xoay vòng

Khác là biểu ngữ adsense và tôi không có bất kỳ trang nào trên trang này.

Ai đó có thể cho tôi biết tại sao điều này đang tải về bên phải và sau đó căn giữa khi trang được tải hoàn toàn?

Cảm ơn!

http://www.halotracker.com/Reach/TrueSkillLB.aspx?GameType=Competitive&Playlist=13

+0

CBRacer khiến tôi bắt đầu, nhưng để tôi treo. Vẫn cần trợ giúp. – bladefist

+0

Có hơn 3000 lỗi với HTML trên trang web của bạn. http://validator.w3.org/check?uri=http%3A%2F%2Fwww.halotracker.com%2FReach%2FTrueSkillLB.aspx%3FGameType%3DCompetitive%26Playlist%3D13&charset=%28detect+automatically%29&doctype=Inline&group=0 sửa chữa chúng có thể đi một chặng đường dài hướng tới sửa chữa vấn đề của bạn. Và ngay cả khi nó không, việc tìm kiếm các lỗi sẽ dễ dàng hơn rất nhiều. – twsaef

+0

Có, tôi đã xem liên kết của bạn và chắc chắn có một số sự xấu xí có thể được sửa chữa. Nhưng 90% của nó là những thứ như alt trong hình ảnh và các công cụ như thế. Cảm ơn mặc dù, tôi sẽ chú ý nhiều hơn đến điều này. – bladefist

Trả lời

1

Hm, thật khó để nói, nhưng điều này có thể là do hộp đúng với "position: absolute"

Có lẽ bạn nên thoát khỏi bảng trung nội dung chính của bạn, do đó, không nhầm lẫn trình duyệt của bạn về vị trí của mọi phần tử trên trang.

Hãy thử này cho HTML:

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

với CSS này:

.SiteBody {text-align:center;} 
.container {width:1062px;margin:0 auto;text-align:left;position:relative;} 
+0

Tôi vẫn cần cách hiển thị hình ảnh bên trái và bên phải, với chúng được căn chỉnh về phía chính giữa – bladefist

+0

Bạn thấy vị trí tuyệt đối ở đâu? – bladefist

8

Đó là bởi vì chiều rộng của bạn trên các bảng được thiết lập đến 100% với hai trong số những cột với * để xác định padding. ký tự * cho biết bảng để xác định chiều rộng còn lại và điền nó với bảng. Vì vậy, những gì xảy ra là trình duyệt làm cho * đầu tiên ít hơn chiều rộng cố định của cột trung tâm. Nó thậm chí không làm cho cột thứ ba cho đến khi sau khi định tâm xảy ra. Bạn có thể thấy điều này bằng firebug và dừng tải khi nó vẫn được căn chỉnh ở bên phải.

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

Tôi sẽ nói điều này một lần vì rất nhiều người có thể sẽ tiếp tục điều này. Bạn không nên sử dụng Bảng để thiết lập bố cục đó là thực hành xấu và nó có thể cung cấp cho bạn các vấn đề như những gì bạn đang nhìn thấy. Điều đó nói rằng, lương tâm của tôi là rõ ràng.

Bạn có thể loại bỏ TD đầu tiên và thứ ba, xóa Chiều rộng 100% và đặt nền trong vùng chứa chính. Theo tôi, đây sẽ là cách tốt nhất để xử lý nó. Đặt lề thành 0, tự động và sẽ cung cấp cho bạn mọi thứ bạn muốn.

<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> 

HOẶC Đây có lẽ là cách tốt nhất vì nó lớp divs và cho phép bạn thiết lập các hình nền cho trái và bên phải và vẫn thiết lập một nội dung trọng tâm với chiều rộng đúng

<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> 
+0

Td trái và phải là tự động vì hình nền của chúng quá lớn để bù cho những người có màn hình rất rộng. Vì vậy, nếu độ phân giải của bạn không rộng, tất cả các bạn về cơ bản sẽ thấy là trang web chính. Làm thế nào tôi sẽ hoàn thành nhiệm vụ tương tự mà không có một bảng? – bladefist

+0

@bladefist xem các chỉnh sửa của tôi – CBRRacer

+1

@ bladefist cũng chỉ là mẹo trừ khi bạn đang sử dụng sẽ tham chiếu lớp nhiều lần trên cùng một trang nên có thể là ID. Không phải là điều này làm cho bất kỳ sự khác biệt trong mã, chỉ là một thực hành tốt nhất. (class = nhiều cuộc gọi trên cùng một trang, ID = một cuộc gọi trên một trang) – CBRRacer

3

Đừng sử dụng các bảng để bố trí.

Chúng khiến trang được hiển thị chậm hơn và có thể gây ra những điều chỉnh rất muộn. Tôi chắc chắn bạn đã nhận thấy điều này;)

Thiết kế trang web trông không phức tạp. Tôi sẽ khuyên bạn nên làm lại nó mà không cần sử dụng các bảng như bố trí (các bảng cho các danh sách nhạc là tốt của khóa học).

+0

Tôi đã làm điều này, bắt đầu với ý kiến ​​của CBRRacer. Đã không thể tái tạo nó với DIVs – bladefist

+1

Vâng, đó là toàn bộ vấn đề phải không? :) – Halcyon

+0

Bạn biết ý tôi là gì. Tôi không thể khiến trang web xếp hàng đúng cách với DIVs – bladefist

0

Tôi đoán đó là Cufon - thay thế phông chữ của bạn sau khi tải xong. Bạn có thể thay thế Cufon và xem liệu bạn có gặp vấn đề này không?

Nếu điều đó không thể bạn đưa ra phiên bản thử nghiệm của trang với tất cả các thẻ tập lệnh đã bị xóa?

+0

http://www.halotracker.com/Test/Halo%20%20Reach%20Challenges.htm Không có tập lệnh nào, không có div tuyệt đối, không có cufon. Vẫn hành động kỳ lạ. Cảm ơn sự giúp đỡ của bạn – bladefist

+0

@bladefist rằng người ta không thay đổi từ căn chỉnh sang phải để căn giữa cho tôi; nó là trung tâm từ đầu. Mặc dù các cột không hoạt động đúng cách. Nó có thể là một số loại vấn đề reflow gây ra bởi bao nhiêu HTML đang được máy chủ? – twsaef

+0

@ bladefist rằng một trong những hoạt động tốt cho tôi quá trên FF và chrome. Trình duyệt nào bạn đang gặp sự cố chỉnh lại? – Naren

0
  1. Không sử dụng TABLES cho bố cục. Nếu bạn sử dụng TABLES, hãy sử dụng các ô chiều rộng cố định.
  2. Di chuyển thẻ tập lệnh JS sang cuối mã HTML.
  3. Hãy thử vô hiệu từng cái một trong các kịch bản lệnh JS và xem điều gì đang xảy ra.
  4. Theo dõi hiển thị HTML của bạn trong thời gian thực bằng Firebug.
0

Sau khi phân tích của trang web của bạn, dưới đây là ý kiến ​​của tôi: -

  1. Trang tổng trọng lượng là 2736,6 Kbytes (Đó là cao)
  2. CSSImages trọng lượng là 986 Kbytes
  3. Trọng lượng tệp JS là 623.2 Kbytes
  4. Nếu bạn có thể sử dụng bộ nhớ đệm trên máy chủ cho CSS & JS file sau đó tải trang sẽ giảm
  5. Như CBRRacer đề cập, bạn nên xử lý điều đó quá
0

Tôi tước tất cả các javascript, cufon, divs tuyệt đối, vv từ các trang web ở đây

http://www.halotracker.com/Test/Halo%20%20Reach%20Challenges.htm

Điều duy nhất còn lại là các bảng. Và tôi đã thấy các bảng hoạt động trước đó. Tôi đã luôn luôn sử dụng bảng và vấn đề này ngẫu nhiên bắt đầu. Dù sao, không thể hiểu được, không có câu trả lời nào cho tôi được hoàn thành.

Tận hưởng điểm danh tiếng của tôi CBRacer.

Các vấn đề liên quan