Bố cục đa trình duyệt trong điều kiện hiện đại - hiểu biết chung về nguyên tắc cần thiết. Tại sao mọi người đều có vấn đề như vậy? Universal – chủ đề kinh doanh cho dịch vụ tư vấn
Đôi lời giới thiệu: Trong một năm qua tôi tích cực tạo trang web, tôi nhận thấy công nghệ không đứng yên. Một cái gì đó đang phát triển liên tục và nếu nó không phát triển thì bằng cách nào đó nó sẽ thay đổi và ảnh hưởng đến việc tạo ra các trang web. Và ngày hôm nọ, kết quả là tôi đã trưởng thành được hai điểm hữu ích.
1. Bố cục trang web và Windows 8
Hôm nọ, một đồng nghiệp đã đăng ảnh chụp màn hình lưu trữ video YouTube lên mạng xã hội với câu hỏi:“Không ai biết YouTube có vấn đề gì? Tại sao anh ta lại trốn ở góc bên trái? Tại sao có quá nhiều không gian trống trên trang chính?Sau khi không có ai động não, tôi chợt nhận ra rằng rất có thể điều này đã bị ảnh hưởng phần nào giao diện mới phiên bản mới hệ điều hành Các cửa sổ. Tôi nghĩ rằng tôi vẫn đúng, bởi vì... chức năng nhất Bảng điều khiển Windows 8 bật lên với bên phải và ngay lập tức chiếm tới 378 px từ khu vực xem của cửa sổ để có lượng thông tin hữu ích tối đa trên màn hình, công ty Google bắt đầu chuyển bố cục hữu ích sang bên trái. Điều này có thể thấy rõ với độ phân giải màn hình 1388px ở cạnh dài
Như bạn có thể thấy, khi bố cục được dịch sang trái, bảng chức năng nội dung chính (video ở chế độ xem tiêu chuẩn) không trùng lặp.
2. Thẻ HTML5
Tương đối gần đây, đặc tả HTML5 đã chính thức được áp dụng, điều đó có nghĩa là nên dịch các trang web sang HTML5, nhưng chúng tôi có các trình duyệt như IE8 trở về trước - chúng tôi gặp vấn đề với chúng, điều này được thể hiện ở thực tế là các bộ chọn có thẻ mới là không được xử lý bởi các trình duyệt này.Ví dụ: chúng tôi có mã này:
kiểm tra HTML5 LoremIpsum
Trong tất cả các trình duyệt hiện đại (IE9/10, Chrome, Firefox, Opera, Safari5), mã này được hiển thị chính xác:
Nhưng trong Internet Explorer “yêu thích” của chúng tôi, các vấn đề về mã đã phát sinh và các kiểu ngừng hoạt động.
Sau nhiều cách khác nhau để đặt kiểu, tôi chỉ thành công theo cách thông thường - đây là phần tử div, được cấp một lớp. Vì vậy, tôi đề xuất coi đó là một quy tắc (có lẽ ai đó đã lấy nó rồi, nhưng đối với bản thân tôi thì tôi mới phát hiện ra điểm này gần đây) rằng nếu bạn cần bố cục cho IE8 trở xuống, bạn nên lấy một div và gán cho nó một tên lớp, trong phù hợp với thẻ trong đặc tả HTML5:
kiểm tra HTML5 LoremIpsumBảng điều khiển bên.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec lobortis felis eu velit dignissim in fermentum justo cursus. Khả năng đình chỉ.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec lobortis felis eu velit dignissim in fermentum justo cursus. Khả năng đình chỉ. Aenean odio quam, egestas rhoncus posuere at, imperdiet vel sem. Curabitur in nisl neque, ac porttitor arcu. Sed sed est lectus, in egestas nisi. Morbi turpis urna, feugiat fermentum condimentum quis, congue non quam. Vivamus auctor ultricies tincidunt. Pellentesque eget Nunc tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vel ante justo. Bạn có thể gặp khó khăn khi đối mặt với sự covallis mattis. Fusce a aguet sit amet felis vehicula iaculis. Nunc lectus lectus, pretium id pulvinar sit amet, pulvinar a metus. Nam ultrices lobortis erat, et mollis odio tristique vel. Tạm dừng nec massa dui, nec tempus sapien.
Donec congue lorem id orci congue vel interdum orci pellentesque. Vivamus nec orci vitae diam scelerisque faucibus id dictum felis. Vivamus dictum rhoncus ipsum, vel tempor sapien aliquet vel. Tiền đình lobortis sodales leo, ut lobortis ligula tristique nec. Mauris vitae dolor leo, xe cộ semper ligula. Nam sed orci leo. Sed auctor iaculis mauris non pretium. Vestibulum eros tortor, consectetur id varius et, porta in magna.
Fusce vel turpis turpis. Cras dapibus neque et quam cursus euismod. Donec justo felis, scelerisque quis ornare nec, aliquam ut mi. Trong est augue, vestibulum ac volutpat id, laoreet vitae diam. Proin non libero ac libero ultrices tristique ac in neque. Nam nec lacus id erat volutpat iaculis. Nam dapibus fringilla adipiscing.
Aliquam erat volutpat. Lớp thích hợp taciti xã hội ad litora Tornt per conubia nostra, per inceptos hisenaeos. Phasellus interdum lorem sem rutrum vulputate. Trong est felis, consequat ut malesuada sed, volutpat quis purus. Sed non urna eget metus ornare condimentum ac quis diam. Quisque eleifend dapibus ligula, at mollis justo tristique tempus. Morbi viverra vehicula nisi, vel aliquam lacus maleuada eu. Sed pulvinar eros et quam sodales ullamcorper. Donec volutpat magna vel massa lobortis scelerisque.
Nulla mattis pharetra elit, eu dapibus orci fringilla tempus. Donec vel sodales ưu tú. Nó không chỉ đơn giản là tạo điều kiện thuận lợi cho bạn. Fusce porttitor feugiat lacinia. Aliquam là một kẻ tra tấn. Lớp thích hợp taciti xã hội ad litora Tornt per conubia nostra, per inceptos hisenaeos. Nunc maleuada auctor nisl non xe cộ. Nulla nec eros eget leo vestibulum rhoncus. Praesent rhoncus sapien eget turpis mollis et scelerisque urna consectetur. Fusce ullamcorper tempus xe cộ. Số nguyên mauris mauris, eleifend quis ultrices nec, hendrerit vel urna. Đình chỉ namuada magna non lacus imperdiet egestas. Số nguyên gia vị tự do và diam tincidunt luctus. Bạn sẽ nhận được erat trong sem dictum tempus quis eget nisl. Donec nisl lacus, lobortis non facilisis a, ultricies in quam.
Phần kết luận:
Mặc dù có số lượng lớn các bài viết và bài học trên Internet về chủ đề thiết kế web và bố cục web, tiến độ vẫn không đứng yên. Khi tạo thiết kế trang web, bạn không nên dựa vào các quy tắc và công nghệ cũ. Tôi nghĩ rằng ở một mức độ nào đó, bài viết này sẽ được sử dụng như hai lời khuyên ngắn. Có thể những lời khuyên này đã được viết ở đâu đó.tái bút Xin đừng đánh tôi quá mạnh, đây là bài viết đầu tiên về Habré.
Tags: Bố cục, HTML, thiết kế web
Để thiết kế trang web một cách chuyên nghiệp, bạn không chỉ cần biết những điều cơ bản về CSS mà còn phải hiểu cách trình duyệt hoạt động và các quy tắc mà nó tuân theo. Họ xác định các phương pháp và kỹ thuật bố trí cơ bản.
Chỉ với sự hiểu biết như vậy, bạn mới có thể chọn được cách thích hợp nhất để giải quyết vấn đề trong số nhiều cách có thể, có tính đến những ưu điểm và hạn chế của chúng. Đây là cách duy nhất để tận dụng tối đa khả năng của trình duyệt và ngăn ngừa các lỗi tiềm ẩn.
Có rất nhiều mô tả về các kỹ thuật khác nhau. Bài viết này cố gắng tập hợp các kỹ thuật quan trọng nhất và hệ thống hóa chúng để đưa ra ý tưởng về cả những khả năng chính cũng như những hạn chế của CSS phù hợp ngày nay.
Bài viết này dành cho những người đã quen với kiến thức cơ bản về HTML và CSS, đồng thời có hiểu biết về các thuộc tính cơ bản và nguyên tắc cơ bản về cách hoạt động của các biểu định kiểu xếp tầng.
Bàn
Trong lịch sử, cách đầu tiên và duy nhất để trình bày một trang là thông qua các bảng. Toàn bộ chương trong đặc tả CSS 2.1 được dành để mô tả hành vi của các bảng. Bất chấp khối lượng này, một số điểm được mô tả thưa thớt hoặc hoàn toàn không được mô tả và tùy theo quyết định của trình duyệt.
Ưu điểm và nhược điểm
Bảng được sử dụng để hiển thị dữ liệu được sắp xếp theo hàng và cột có kết nối ngữ nghĩa theo chiều ngang hoặc chiều dọc. Điều này dẫn đến ưu điểm chính: các ô trong bảng được căn chỉnh thành lưới, cho phép bạn tạo một cách đơn giản và rõ ràng lưới mô-đun.
Thuộc tính cố hữu này của các bảng cho phép bạn lấp đầy mặt phẳng của cửa sổ trình duyệt và tạo các “trang web linh hoạt”. Tuy nhiên, cả với kích thước cửa sổ trình duyệt nhỏ và lớn, cấu trúc của bảng không thay đổi; nó không thể thích ứng linh hoạt với không gian có sẵn.
Khi sử dụng bảng để bố trí, tức là đặt dữ liệu vào lưới không có kết nối ngữ nghĩa, ngữ nghĩa sẽ bị vi phạm. Việc sử dụng các bảng như vậy làm giảm khả năng truy cập đối với những người sử dụng các chương trình đặc biệt và giảm xếp hạng trong kết quả tìm kiếm, vì công cụ tìm kiếm có lẽ khó hiểu cấu trúc của trang hơn. Kết quả là trang web hoạt động kém hiệu quả hơn.
Đặc điểm
Các ô bảng lần lượt xuất hiện trong mã, từ trái sang phải hoặc từ phải sang trái, tùy thuộc vào hướng của ngôn ngữ, được chỉ định bởi thuộc tính CSS Direction hoặc tương tự của nó trong HTML, thuộc tính dir.
Ví dụ: nếu bạn muốn nội dung chính ở cột giữa xuất hiện trước nội dung của các cột khác trong nguồn HTML thì bảng không phải là giải pháp phù hợp.
Cấu trúc của bảng khá phức tạp, nó được mô tả bằng số lượng lớn các thẻ, dẫn đến độ phức tạp của mã nguồn. Hiệu ứng tiêu cực thậm chí còn lớn hơn khi một số bảng được lồng vào nhau.
Sự bắt chước
Nhóm thuộc tính display: table-* được giới thiệu trong CSS 2.1 cho phép bạn tạo bảng từ các phần tử tùy ý có cấu trúc phù hợp.
Theo đặc tả, chỉ cần một khai báo như display: table hoặc display: table-cell là đủ - các phần tử còn thiếu sẽ được trình duyệt tự động hoàn thành.
Tuy nhiên, sẽ an toàn hơn nếu tạo cấu trúc bảng > hàng > ô tối thiểu, tương tự như các thẻ bắt buộc
, với các giá trị thuộc tính hiển thị tương ứng: table , table-row và table-cell .
Nếu không, bạn có thể gặp lỗi không liên tục trong các trình duyệt dựa trên Firefox và Webkit khi một hàng trong bảng không có phần tử có display: table-cell ngẫu nhiênđược chia thành nhiều ô. Một lời giải thích khả dĩ có thể là ranh giới gói mạng đã bị kẹt giữa các ô khi truyền mã HTML. Do đó, đánh dấu khối bằng display: table-* hầu như không khác biệt với bảng HTML thông thường về bất kỳ thứ gì ngoài tên thẻ, nhưng bảng thông thường được các trình duyệt hỗ trợ tốt hơn (cụ thể là Internet Explorer 7 trở xuống) và có nhiều tính năng hơn, chẳng hạn như hợp nhất các ô. Điều đáng chú ý là, mặc dù có thẻ tùy chọn |