Hướng dẫn css keep div together - css giữ div với nhau
Tôi đã làm việc trên một menu thả xuống tương tự như Suckerfish. Bây giờ tôi đã có mặt thả xuống hoạt động, nhưng tôi có một số hình ảnh tôi đang cố gắng đặt ở hai bên của các liên kết. Ngay bây giờ tôi đang sử dụng div kích thước của hình ảnh, sau đó đặt thuộc tính Show Đây là CSS áp dụng:
Tôi đã sử dụng các bộ chọn để tiết kiệm một chút khi có các lớp khác nhau, nhưng Internet Explorer dường như không hỗ trợ họ :( Đây là HTML của tôi áp dụng:
Tôi không chắc liệu có sự cố trong mã của mình hay nếu tôi đi sai đường. Nó hoạt động trong Firefox, Safari và Chrome, nhưng không phải IE hay Opera, vì vậy tôi không chắc họ có bù đắp cho sự ngu ngốc hay điều gì không. Lý tưởng nhất, hình ảnh thứ hai nổi một cách tham lam bên phải trong khối chứa. Trong các trình duyệt vấn đề, nó nằm trong dòng tiếp theo (ít nhất là ở xa bên phải) Đường dẫn // www.yourhtmlsource.com → Hiển thị → Bố cục CSS // www.yourhtmlsource.com → Stylesheets → CSS LAYOUT Một trong những lợi ích chính của việc sử dụng CSS là bạn không còn buộc phải đặt các trang web của bạn trong bảng. Khả năng bố cục của CSS cho phép bạn kiểm soát hoàn toàn các vị trí và kích thước của tất cả các yếu tố trang. Nếu bạn đã thử đặt ra một trang với các bảng, có lẽ bạn đã bị kích thích trong quá khứ bởi việc không có khả năng trình duyệt của bạn để hiển thị trang của bạn chính xác như bạn muốn. Các cấu trúc bảng không phải là thiết bị bố trí trang linh hoạt nhất, vì chúng thực sự được thiết kế cho mục đích này. Tuy nhiên, bây giờ, với một số hỗ trợ trình duyệt đáng tin cậy trong thế hệ trình duyệt hiện tại, bạn có một tùy chọn mới và được cải thiện nhiều. Điều hướng trang: Làm việc với Divs · Các yếu tố nổi | Định vị CSS · Định vị tuyệt đối · Lớp định vị · Định vị tương đối | Định tâm ngang Làm việc với các divsPhần tử Thẻ Div#Điều hướng {chiều rộng: 200px; Bối cảnh: Xám; Đệm: 10px; } {width: 200px; background: gray; padding: 10px; } Mã ví dụ này sử dụng một số mã CSS rất đơn giản. Tất cả các phần tử cấp khối có thể có thuộc tính chiều rộng, được chỉ định theo đơn vị hoặc theo tỷ lệ phần trăm, và sau đó tôi chỉ thêm một màu nền và một số không gian đệm xung quanh nội dung Vì các bộ phận là cấp độ khối (nghĩa là, chúng mặc định là 100% chiều rộng màn hình có sẵn và thêm các đường ngắt đường giữa nhau), tất cả chúng sẽ chỉ xếp chồng lên nhau trừ khi bạn định vị chúng theo một cách nào đó. Cách đơn giản nhất để làm điều này là sử dụng thuộc tính Float CSS, xương sống của hầu hết các bố cục CSS. Bạn có thể nổi bất kỳ phần tử nào bên trái hoặc phải, và nó sẽ tự căn chỉnh sang một bên của bất kỳ yếu tố nào nó được chứa bên trong.float property, the backbone of most CSS layouts. You can float any element left or right, and it will align itself over to the side of whatever element it is contained within. #cột1 {float: trái; Chiều rộng: 200px; Đệm: 10px; }#cột2 {float: trái; Chiều rộng: 200px; Đệm: 20px; } {float: left; width: 200px; padding: 10px; } Để tạo bố cục colum, bạn chỉ cần nổi tất cả các phân chia cột vào cùng một phía và chúng sẽ xếp hàng bên cạnh nhau, miễn là chúng phù hợp. Đặt nội dung theo cách này có những lợi ích ngay lập tức như tải xuống lũy tiến (vì văn bản được tải nó được hiển thị trên trang ngay lập tức, vì vậy khách truy cập của bạn có thể đọc khi trang đang hình thành xung quanh văn bản). Bạn cũng có thể cung cấp cho mỗi lề và phần đệm cụ thể của cột, cho phép bạn tự do hơn để không gian nội dung của bạn. Dưới đây là một ví dụ về mã như CSS ở trên, với cả hai phần tử Cột 1 Cột 2 Với các yếu tố nổi này, bạn có thể bắt chước cấu trúc bảng và có trang của bạn trong bố cục truyền thống mà không có tất cả các nhược điểm của bảng. Các yếu tố nổi mất một chút thực hành (đặc biệt là nếu các cột không có cùng chiều cao), nhưng có thể dẫn đến nhiều bố cục truyền thống và phi truyền thống. Nhưng CSS không phải là nội dung để chỉ mô phỏng các cơ chế bố cục của quá khứ - bây giờ bạn có thể kiểm soát vị trí của các phần tử trên trang xuống pixel. Có hai loại định vị khác ngoài việc nổi: tuyệt đối và tương đối. Các mã bạn sẽ sử dụng làabsolute and relative. The codes you’ll be using are
Tag {vị trí: Lựa chọn; Top: 0px; Dưới cùng: 0px; Trái: 0px; Phải: 0px; } {position: choice; top: 0px; bottom: 0px; left: 0px; right: 0px; } Lưu ý tương thích trình duyệt: Định vị tuyệt đối và tương đối là một tính năng của đặc tả CSS2 và do đó được hỗ trợ bởi »Internet Explorer 4+,» Mozilla, »Firefox,» Opera và »Safari. Để có kết quả tốt nhất, hãy sử dụng các trình duyệt mới nhất có sẵn, vì chúng sẽ có khả năng kết xuất được cải thiện và chính xác hơn. Không sử dụng những thứ này nếu người dùng của bạn có thể sử dụng các trình duyệt cũ hơn. Nếu bạn định vị một phần tử (một hình ảnh, bảng hoặc bất cứ điều gì) hoàn toàn trên trang của bạn, nó sẽ xuất hiện ở chính xác mà bạn chỉ định. Nói rằng tôi muốn một đồ họa xuất hiện 46 pixel từ đầu trang và 80 pixel từ bên phải, tôi có thể làm điều đó. Mã CSS mà bạn sẽ cần thêm vào hình ảnh là img {vị trí: Tuyệt đối; Top: 46px; Phải: 80px; } {position: absolute; top: 46px; right: 80px; } Bạn chỉ cần thêm phương pháp định vị mà bạn sử dụng khi bắt đầu, và sau đó đẩy hình ảnh ra khỏi các cạnh mà nó sẽ gần nhất. Bạn có thể thêm CSS trực tiếp vào thẻ bằng thuộc tính Hình ảnh sẽ xuất hiện như vậy. Như bạn có thể thấy, có thể có những thứ chồng chéo với định vị tuyệt đối.overlapping with absolute positioning. Để tạo những gì chúng ta gọi là các lớp với thẻ Đầu tiên bạn chỉ định vị trí của lớp, sau đó kích thước của nó (là tùy chọn, lớp sẽ tự thay đổi kích thước). Nếu bạn muốn đưa màu cho nền lớp, hãy thêm màu nền: màu đỏ; thuộc tính với phần còn lại của mã CSS của bạn. Như thường lệ, bạn có thể sử dụng Websafe Colors hoặc màu sắc được đặt tên.position of the layer, then its dimensions (which is optional, the layer will resize itself). If you want to give colour to the layer’s background, add the background-color: red; attribute in with the rest of your CSS code. As usual, you can use websafe colours, or
named colours. Bất cứ điều gì có thể đi trên một trang bình thường đều có thể được định vị với Để có được các lớp chồng chéo lẫn nhau, bạn cần sử dụng lệnh z-index. Thêm z-index: 1 in với mã định vị và phần tử này sẽ xuất hiện trên mọi thứ mà không cần lệnh này. Nếu bạn cũng muốn một cái gì đó khác đi qua lớp này, hãy thêm Z-index: 2 và cứ thế. Chỉ số càng cao, Đặt lớp giữ nội dung trang của bạn ở đầu mã của bạn. Đây là những gì độc giả muốn xem ngay lập tức. Điều hướng của bạn và các thành phần trình bày khác sau đó có thể tải xung quanh điều này, cho phép người đọc của bạn bắt đầu đọc càng sớm càng tốt và cung cấp điều hướng của bạn khi nó được sử dụng nhiều nhất: sau khi trang được đọc.content
at the top of your code. This is what readers want to see immediately. Your navigation and other presentational components can then load around this, allowing your reader to begin reading as soon as possible and making your navigation available when it is most likely to be used: after the page has been read. Để xem một số ví dụ về các thiết kế được đặt ra với cả vị trí nổi và định vị tuyệt đối, hãy xem xét ở phần thiết kế lại của tôi.float and absolute positioning, have a look-see at my
redesigns section. Khi bạn định vị một cái gì đó tương đối, bạn đang sửa đổi vị trí của nó từ nơi nó sẽ xảy ra nếu bạn đã thay đổi bất cứ điều gì. Tôi thấy rằng đó là cách dễ nghĩ nhất về nó. Chẳng hạn, trong câu tiếp theo, tôi sẽ bù một số từ 12px xuống và 22px phải liên quan đến vị trí bắt đầu của chúng. Vâng, đây là một số từ (một số từ)some words (some words) Các từ trong ngoặc đơn là các từ ở vị trí ban đầu của chúng, và những từ táo bạo là những từ được chuyển động. Mã CSS để di chuyển chúng là một vài từrelative;top:12px;left:22px;">some words Bạn nên chú ý rằng nếu bạn muốn di chuyển một cái gì đó bên trái, bạn sử dụng đúng mã và đẩy nó ra khỏi phía đó và ngược lại.right code, and push it away from that side and vice-versa. Để ghi đè một thuộc tính vị trí kế thừa và làm cho phần tử chỉ là một phần bình thường của trang một lần nữa, đặt nó thành vị trí: tĩnh.position property, and make the element just a normal part of the page again, set it to position: static. Tập trung vào #Wrapper {Width: 760px; Biên độ: 0 tự động; } {width: 760px; margin: 0 auto; } Điều đó sẽ hoạt động trong các trình duyệt như Firefox, Safari hoặc Opera. Tuy nhiên, điều này sẽ không có tác dụng trong các phiên bản của Internet Explorer bên dưới 7. Có một bản hack mà chúng tôi có thể sử dụng mặc dù, để chúng tôi có được định tâm ngang trong tất cả các trình duyệt. Đối với Whit, tức là các phần tử cấp độ khối không chính xác nếu phần tử mà chúng chứa trong có văn bản-Align: trung tâm được áp dụng. Vì vậy, chúng tôi có thể áp dụng thuộc tính này cho phần tử Body {Text-Align: Center;} {text-align: center; } Một bước cuối cùng là cần thiết.Tất nhiên, dòng trên sẽ làm trung tâm tất cả các văn bản bên trong các phần tử trung tâm, thường không phải là những gì chúng ta muốn, vì vậy chúng ta cần sắp xếp văn bản bên trong bên trái.Vì vậy, ở đây, tất cả các mã: Body {Text-Align: Center;} #Wrapper {Width: 760px;Biên độ: 0 tự động;Văn bản-Align: Trái;} {text-align: center; } Dễ dàng khi bạn biết làm thế nào, hả?Hãy cẩn thận nếu bạn có kế hoạch trộn định vị tuyệt đối và phương pháp định tâm này trong cùng một bố cục.Nếu bạn muốn các yếu tố khác được định vị hoàn toàn bên trong trình bao bọc, hãy làm cho nó tương đối định vị trước. #Wrapper {vị trí: tương đối;Chiều rộng: 760px;Biên độ: 0 tự động;Văn bản-Align: Trái;} {position: relative; width: 760px; margin: 0 auto; text-align: left; } Điều này sẽ tạo ra một yếu tố bên trong mà bạn hoàn toàn định vị tại, ví dụ, TOP: 0;Trái: 0;Xuất hiện ở góc trên cùng bên trái của trình bao bọc, và không phải ở trên cùng bên trái của toàn bộ cửa sổ.top: 0; left: 0; appear at the top left corner of the wrapper, and not of the the top left of the entire window. Dừng tiếp theo: Thêm biên giới vào các yếu tố của bạn. |