2009-03-17 50 views
7

Tôi đã thảo luận với ai đó về vị trí tuyệt đối. Ông tuyên bố rằng thực hành tốt nhất để bảo đảm rằng mọi thứ trông giống nhau trên hầu hết các trình duyệt và đó là cách dễ nhất để duy trì giao diện và cảm thấy rằng bạn dự định cho một trang web.Định vị hoàn toàn mọi thứ trên một trang web?

Tôi không đồng ý với ý kiến ​​của anh ấy, rằng việc định vị tuyệt đối sẽ là biện pháp khắc phục và cách tiếp cận tốt nhất để đặt ra một trang web.

Trong trường hợp của tôi, tôi đã quan tâm hơn đến việc sử dụng phương pháp điều chỉnh lề/chiều rộng/cẩn thận nổi và đôi khi là bảng không thường xuyên. Đó là một khái quát nhỏ, tất nhiên, tôi sẽ không ngừng sử dụng vị trí tuyệt đối chỉ bởi vì tôi muốn chống lại nó, nó chỉ là tôi tìm cách tiếp cận vị trí tuyệt đối một quy tắc phù hợp với tất cả các phương pháp tiếp cận như được ủng hộ bởi đồng nghiệp của tôi khá nghi ngờ.

Sự đồng thuận chung về điều này là gì?

Trả lời

14

Chế độ xem chung của tôi là kết thúc biện minh cho phương tiện.

Chủ nghĩa thực dụng trị vì tối cao ở đây. Mục tiêu cuối cùng là làm cho nó hoạt động nhanh nhất có thể trên phạm vi trình duyệt rộng nhất có thể. Có hay không sử dụng định vị tuyệt đối, có hay không sử dụng các bảng, có hay không sử dụng CSS tinh khiết ... tất cả các câu hỏi này, ở mức tốt nhất, phụ. Tôi thực sự tìm thấy nó kỳ lạ bao nhiêu "bảng thù hận" có ra khỏi đó, nhưng, như đã được ghi lại vô số lần, nếu bạn muốn làm một số điều (như dọc trung tâm) và có nó tương thích trở lại IE6 không có nhanh hơn , giải pháp dễ dàng và tương thích hơn.

Tôi không cho hoặc chống lại các bảng, định vị tuyệt đối hoặc bất kỳ thứ gì. Điều duy nhất tôi "cho" là nó hoạt động.

Vì vậy, trong tĩnh mạch đó, tôi tìm đối số về vị trí tuyệt đối "cực đoan" là - vì thiếu mô tả tốt hơn - phiền nhiễu không liên quan.

Với tất cả những điều này (bảng, định vị tuyệt đối, CSS tinh khiết, v.v.) trong hầu hết các trường hợp, bạn không giải quyết được tất cả sự cố, bạn chỉ cần giao dịch một bộ vấn đề cho một vấn đề khác. Điều đó có thể được chấp nhận bởi vì trong bối cảnh của những gì bạn đang làm một tập hợp các vấn đề có thể là thích hợp hơn nhưng không có viên đạn ma thuật (có thể là vị trí tuyệt đối hay bất cứ thứ gì khác).

Từ kinh nghiệm, tôi đã gặp nhiều vấn đề về việc định vị tuyệt đối để làm những gì tôi muốn (trình duyệt chéo) như bất kỳ cách tiếp cận nào khác.

+0

Nó phụ thuộc một chút có trang web. Nếu bạn mất 5% khán giả, bạn có thể đủ khả năng để làm những việc như thế này. Nếu bạn là một tổ chức chính phủ, hoặc Google hoặc một ai đó, bạn không thể. –

2

Chỉ sử dụng định vị tuyệt đối khi bạn chắc chắn 100% rằng các thành phần liên quan sẽ không bao giờ phải mở rộng kích thước của chúng và sẽ không được di chuyển xung quanh. Nếu bạn đã hoàn toàn định vị một số phần tử và sau đó một phần tử khác phát triển chúng có thể trùng lặp và bố cục của bạn bị hỏng. Tôi sẽ sử dụng vị trí tuyệt đối rất cẩn thận và thường là lời khuyên chống lại nó. Cách bố trí tương tự hầu như luôn có thể đạt được bằng cách sử dụng các phần tử nổi và/hoặc định vị tương đối.

6

Đảm bảo rằng mọi thứ trông giống nhau trên tất cả các trình duyệt là một mục tiêu khó khăn, chủ yếu là vì bạn luôn hướng đến mục tiêu di động.

Trang web là cơ chế phân phối nội dung chủ yếu là văn bản. Nếu nội dung của bạn dựa trên vị trí hoàn hảo pixel, chẳng hạn như đồ họa động và các loại tương tự, HTML và Javascript có thể không phải là giải pháp tốt nhất cho bạn. Có nên thực sự quan trọng nếu các đoạn văn của bạn thấp hơn một pixel trên trang trong Firefox so với trong IE?

4

Trong khi nó có thể khá chủ quan, tôi không phải là một fan hâm mộ của vị trí tuyệt đối, như bạn nên kiểm tra thông qua với CSS vô hiệu hóa để xem cách các nội dung làm giảm cho các trình duyệt biết-CSS không (ví dụ như công cụ tìm kiếm, giao diện điều khiển trình duyệt văn bản dựa trên và HTML-> Trình duyệt tiếng nói cho người khiếm thị).

Ưu điểm chính khác bằng cách không định vị hoàn toàn, là bạn có thể có CSS ​​tổng quát hơn, được chia sẻ trên toàn bộ trang web, mà không phải báo cáo định vị rác khắp mã. logo có tỷ lệ khung hình khác nhau và cần di chuyển mọi thứ xung quanh ...

18

Internet không in, tôi không nghĩ rằng nó lý tưởng để định vị hoàn toàn mọi thứ. Tôi cho rằng bạn có thể đảm bảo mọi thứ trông đẹp hơn bằng cách sử dụng phương pháp của bạn, có thể được tăng cường bằng cách sử dụng EM cho một số chiều rộng để cho phép trang có nhiều chất lỏng hơn trên các kích thước màn hình khác nhau (và DPI). Điều này cho phép nội dung của bạn mở rộng tốt hơn và với tính năng duyệt trên thiết bị di động trở nên phổ biến hơn, điều đó quan trọng.

Trong các trang kinh nghiệm của tôi có xu hướng trông tốt hơn khi bạn lên kế hoạch cho trang của mình phải thích ứng một chút với các thiết bị khác nhau, trái ngược với việc cố gắng bố trí 100% pixel hoàn hảo như bạn thấy trong in. Đó không chỉ là bản chất của internet.

Chỉnh sửa: Suy nghĩ về nó nhiều hơn, sử dụng tất cả tuyệt đối có thể thực sự trở lại để cắn bạn với trình duyệt di động nếu bạn không cẩn thận. Điều gì sẽ xảy ra khi trang web của bạn sử dụng vị trí tuyệt đối trên một cái gì đó như iPhone (giả sử bạn đang căn chỉnh một số thành phần cho các góc)? Các vị trí sẽ được liên kết với các góc của iPhone, đó là một tỷ lệ lẻ (so với máy tính) và độ phân giải nhỏ hơn nhiều; ném tất cả mọi thứ ra khỏi wack. Nếu bạn đã sử dụng kết hợp nổi/chiều rộng/v.v, bạn phải đảm bảo rằng trang web giữ nguyên kích thước ban đầu và bạn chỉ cần cuộn.

+0

Điểm tốt về việc sử dụng các đơn vị tương đối, quá –

+1

"internet không in" là khung và treo trên mọi màn hình của nhà phát triển web – Javier

+0

Ha! Tôi vừa mới bình luận về những gì sẽ xảy ra với trang web nếu tôi truy cập vào điện thoại Android của mình ... –

8

Vị trí tuyệt đối thường khá tệ. Hiếm khi bạn muốn trang web của bạn trông giống như cửa sổ trên máy tính xách tay 1024x768 của ai đó và toàn màn hình trên máy tính để bàn 1920x1200 của họ. Ngoài ra, chúc may mắn hòa hợp vị trí tuyệt đối của bạn với các kích thước phông chữ người dùng khác nhau.

Nhắc bè của bạn mà người dùng thà nhìn thấy giao diện họ có ý định cho một trang web, không phải là cái nhìn và cảm nhận ông dự định (trong vòng lý do).

+0

tại sao mọi người lại tối đa hóa trang web? đó là vô lý và phản tác dụng. Do đó, bạn phải thích ứng với các kích thước cửa sổ tùy ý (trong phạm vi lý do) – Javier

+2

Tôi làm. :) Đôi khi bạn sẽ có DIV với thanh cuộn ngang bị mất khi bạn phóng to cửa sổ trình duyệt. Đôi khi tôi làm điều này để có nhiều không gian hơn cho video được nhúng. Tôi thường chạy trình duyệt ở chế độ cửa sổ trên 1024x768, nhưng tôi có màn hình rộng, vì vậy tôi tận dụng điều đó. –

+0

nếu bạn có một màn hình lớn với một cửa sổ duy nhất, bạn đang lãng phí hầu hết – Javier

2

cletus có một điểm. Với tư cách là nhà phát triển, câu hỏi cuối cùng là - chúng tôi muốn trở nên thấu đáo như thế nào? Nếu việc đưa trang web của bạn ra nhanh chóng là điều quan trọng nhất, thì các biện pháp phòng ngừa bổ sung có thể được hy sinh. Nếu làm một trang web "bullet proof" là một ưu tiên, sau đó làm như vậy sẽ mất rất nhiều thời gian và công sức. Cá nhân tôi sẽ không bao giờ hy sinh khả năng mở rộng và khả năng sử dụng trong tên của sự tiện lợi. Mở rộng quy mô giữa những thứ khác sẽ loại bỏ vị trí tuyệt đối cho bố cục mỗi lần trong cuốn sách của tôi.

0

Tôi không có fan ở tất cả các vị trí tuyệt đối nhưng tôi đã thấy các nhà phát triển web sử dụng nó để có kết quả tìm kiếm tốt hơn, vì họ có thể dễ dàng đặt phần văn bản quan trọng nhất ở đầu HTML và sử dụng vị trí tuyệt đối vị trí của nó nơi nó thực sự thuộc về.

Tôi sẽ không sử dụng ngay cả đối số đó, vì có nhiều cách để HTML trở nên thân thiện với công cụ tìm kiếm nhưng vẫn sử dụng bố cục linh hoạt như The Perfect 3 Column Liquid Layout hoặc các biến thể khác.

3

Ông tuyên bố rằng việc thực hành tốt nhất để đảm bảo rằng mọi thứ trông đều giống nhau ở hầu hết các trình duyệt

Bạn không thể đảm bảo rằng mọi thứ trông đều giống nhau ở hầu hết các trình duyệt. Phông chữ luôn được hiển thị khác nhau tùy thuộc vào nền tảng, cài đặt và tính khả dụng. Nếu bạn sử dụng định vị tuyệt đối đầy đủ - như trong, mỗi phần tử có vị trí dọc nằm ngang theo pixel - thì bất kỳ độ lệch nào trên kích thước phông chữ đều có thể dẫn đến dòng văn bản được viết trên đầu trang, làm cho trang không đọc được.

Có các công cụ thiết kế WYSIWYG thực hiện việc này (và một số người lạm dụng Dreamweaver theo cách đó), nhưng nó thường được coi là một cách tiếp cận kém hấp dẫn. Thông thường, định vị tuyệt đối chỉ được sử dụng trong trục ngang, để tạo tiêu đề và chân trang cố định chiều rộng trong khi cho phép văn bản trong trang chiếm nhiều không gian dọc khi cần. (Đây là những gì SO làm, ví dụ, trong số nhiều người khác.)

Đối số bố trí cố định so với chất lỏng trên trình duyệt là một cuộc chiến tôn giáo sẽ rage mãi mãi, nhưng tóm tắt chính xác rõ ràng là chất lỏng là tốt nhất. ;-)

(... nếu khó khăn hơn để kéo giảm, natch.)

đó là cách dễ nhất để duy trì vẻ ngoài và cảm thấy rằng bạn dành cho một trang web.

Có! Một cách giải quyết vấn đề tồi tệ là điều dễ dàng nhất. Nhưng "thực hành tốt nhất"? Khó khăn.

2

Sử dụng định vị tuyệt đối chỉ khi bạn là chắc chắn 100% rằng tham gia yếu tố sẽ không bao giờ phải mở rộng quy mô kích thước của chúng và sẽ không được di chuyển xung quanh. Nếu bạn đã định vị hoàn toàn một số phần tử và sau đó một số khác sẽ tăng lên chúng có thể trùng lặp và bố cục của bạn là bị hỏng.

Điều này đúng. Tôi chỉ kiếm được 500 đô để sửa một trang web cho một số anh chàng và dạy anh ta rằng trang web tuyệt đối của anh ấy đã phá vỡ khoảnh khắc anh ấy thêm nhiều như dấu phẩy, bởi vì văn bản sẽ trở lại và toàn bộ sự việc bị xé toạc.

3

Sử dụng định vị tuyệt đối sẽ luôn luôn cắn bạn sau này. Một trang web nên ở trong dòng chảy bình thường càng nhiều càng tốt, để các yếu tố có thể ngồi trong mối quan hệ với nhau (phát triển/thu nhỏ, sụp đổ khi ẩn, vv).

Với bố cục hoàn toàn được định vị, bạn sẽ luôn được yêu cầu tinh chỉnh bố cục bất cứ khi nào nội dung thay đổi.

tôi chỉ bao giờ thực sự sử dụng định vị tuyệt đối vì ba lý do:

1) Tôi đặt một yếu tố trên yếu tố khác, giống như một hộp pop-up.

2) Có thực sự không có cách nào tốt để đặt một yếu tố mà nó cần phải được trong dòng chảy bình thường

4) Các phần tử sẽ được thao tác tự động (javascript) và rằng cần phải xảy ra bên ngoài của dòng chảy bình thường.

Quy tắc khác mà tôi có xu hướng tuân theo khi sử dụng định vị tuyệt đối là sử dụng phần tử khác làm cha mẹ tương đối được định vị. Bằng cách đó, phần tử được định vị hoàn toàn sẽ liên quan đến bố mẹ đó, chứ không phải là khung nhìn (thường sẽ thay đổi kích thước của nó phụ thuộc vào cách trang được xem).

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