2011-11-23 41 views
11

My trang http://dl.dropbox.com/u/49912546/anchor_link_test.htm hiển thị khác nhau khi một neo được sử dụng quá http://dl.dropbox.com/u/49912546/anchor_link_test.htm#vanquish-s - nội dung bên dưới một hình ảnh được chuyển tăng nhẹTại sao trang này bố trí phá vỡ khi một liên kết anchor được sử dụng

Điều này xảy ra liên tục trên các trình duyệt, vì vậy phải có một cái gì đó trong spec có nghĩa là đây là hành vi đúng ... nhưng cái gì? Nó chỉ xảy ra khi một hình ảnh được tải (nếu src không hợp lệ thì lỗi đó không xảy ra).

* chỉnh sửa Nhân tiện, tôi đã tìm được cách giải quyết lỗi http://dl.dropbox.com/u/49912546/anchor_link_test_solved.htm#vanquish-s, vì vậy tôi không tìm cách sửa lỗi - tôi chỉ muốn biết tại sao tất cả các trình duyệt đều có triển khai CSS gây ra hành vi này.

+3

Có lẽ bạn nên đăng cách giải quyết của bạn, trong trường hợp người khác có cùng vấn đề và không biết cách giải quyết. – Yisela

+0

điểm tốt - sẽ làm – wheresrhys

+0

Vui lòng đọc [Nội dung nào đó trên trang web của tôi không hoạt động. Tôi có thể dán liên kết vào nó không?] (Http://meta.stackoverflow.com/questions/125997/something-on-my-web-site-doesnt-work-can-i-just-paste-a-link -to-it). Các câu hỏi phụ thuộc vào các nguồn lực bên ngoài được hiểu là vô dụng khi tài nguyên bên ngoài biến mất hoặc được sửa. Tạo [MCVE] và đặt nó vào ** câu hỏi **. – Quentin

Trả lời

5

half content dường như chuyển lên vì .panel nó chứa bên trong được thiết lập để overflow:hidden & có nội dung đã được cắt bớt như một kết quả.

Khi trình duyệt cố gắng xác định phần tử trong neo được đặt tên, nó sẽ thấy nó trong vùng chứa có thể cắt nội dung của nó & để cuộn phần tử đó lên trên cùng để đảm bảo phần tử hiển thị.

Ví dụ nếu bạn đã thêm bất kỳ yếu tố trong contentInner nhưng phía trên tên h3, sau đó họ sẽ không được hiển thị trên trang khi anchor được đặt tên được sử dụng như half content là cuộn mà h3 là ở đầu trang. (Các kết quả tương tự như nếu overflow:scroll đã được áp dụng; anchor được đặt tên làm cho thanh cuộn đến vị trí riêng của mình phù hợp với đầu của phần tử được đặt tên)

+0

Sau khi đọc điều này khoảng 5 lần tôi cuối cùng đã nhận được nó, và có, tôi thấy lý do tại sao trình duyệt sẽ muốn chắc chắn rằng các yếu tố có thể nhìn thấy. Nhưng trước tiên trình duyệt có thể kiểm tra xem phần tử được liên kết có bị tràn trước khi thực hiện loại cẩu này không? Ngoài ra, trong trường hợp phần tử bị ẩn bằng các phương tiện khác, ví dụ: vị trí tuyệt đối http://dl.dropbox.com/u/49912546/anchor_link_test_counterexample.htm#vanquish-s, trình duyệt không cố gắng kéo nội dung vào để xem. Vậy tại sao các trình duyệt không chấp nhận tràn: ẩn có nghĩa là ẩn, và nhảy đến nơi có thể nhìn thấy gần nhất? – wheresrhys

+0

Tôi đồng ý một cách làm việc cực kỳ thú vị, có một cuộc thảo luận về hành vi này ở đây; http://www.positioniseverything.net/articles/onetruelayout/appendix/equalheightproblems –

-1

Trong trường hợp của tôi loại bỏ overflow: hidden làm việc

#maincontent { 
    width: 100%; 
    background: transparent; 
    /* overflow: hidden; */ 
    clear:both; 
} 
Các vấn đề liên quan