Về cơ bản, bạn đã thêm nhiều lộn xộn trong mã của mình, điều này tạo ra nhiều sự nhầm lẫn hơn, vì vậy trước tiên tôi cố gắng loại bỏ sự lộn xộn gây cản trở việc hiểu vấn đề thực sự.
Trước hết chúng ta phải xác định đó là câu hỏi thực sự?
Đó là lý do tại sao " inline-block
" yếu tố được đẩy xuống.
Bây giờ chúng ta bắt đầu hiểu nó và loại bỏ sự lộn xộn đầu tiên.
1 -
Tại sao không cho cả ba div cùng độ rộng đường viền?
Hãy cho nó.
2 - Phần tử nổi có bất kỳ kết nối nào với phần tử khối nội tuyến được đẩy xuống không? Không, nó không có gì để làm với nó.
Vì vậy, chúng tôi đã loại bỏ div đó hoàn toàn . Và bạn đang chứng kiến hành vi tương tự của yếu tố khối nội tuyến bị đẩy xuống.
Ở đây đến lượt một số tài liệu để nắm bắt ý tưởng về các hộp dòng và cách chúng được xếp trong cùng một dòng đặc biệt đọc đoạn cuối một cách cẩn thận bởi vì có câu trả lời cho câu hỏi của bạn.
Đường cơ sở của 'khối nội tuyến' là đường cơ sở của hộp dòng cuối cùng của nó trong luồng bình thường, trừ khi nó không có hộp dòng trong dòng hoặc nếu thuộc tính 'tràn' của nó có giá trị được tính khác với 'hiển thị', trong trong trường hợp đường cơ sở là cạnh lề dưới.
Nếu bạn không chắc chắn về đường cơ sở thì đây là lời giải thích ngắn gọn bằng những từ đơn giản.
Tất cả các ký tự ngoại trừ 'gjpqy' được viết trên đường cơ sở mà bạn có thể nghĩ về đường cơ sở như thể bạn vẽ một đường ngang đơn giản giống như gạch chân bên dưới các "ký tự ngẫu nhiên" này, sau đó sẽ là đường cơ sở nhưng bây giờ nếu bạn viết bất kỳ 'gjpqy' nào (các) ký tự trên cùng một dòng thì phần dưới của các ký tự này sẽ nằm dưới dòng.
Vì vậy, chúng ta có thể nói rằng tất cả các ký tự ngoại trừ 'gjpqy' được viết hoàn toàn trên đường cơ sở trong khi một số phần của các ký tự này được viết bên dưới đường cơ sở.
3 - Tại sao không kiểm tra đường cơ sở của dòng chúng ta ở đâu? Tôi đã thêm một vài ký tự hiển thị đường cơ sở của dòng chúng tôi.
4 - Tại sao không thêm một số ký tự trong div của chúng ta để tìm đường cơ sở của chúng trong div? Ở đây, một số ký tự được thêm vào div để làm rõ đường cơ sở .
Bây giờ khi bạn hiểu về đường cơ sở, hãy đọc phiên bản đơn giản hóa sau về đường cơ sở của các khối nội tuyến.
i) Nếu khối nội tuyến trong câu hỏi có thuộc tính tràn được đặt thành hiển thị (theo mặc định nên không cần đặt mặc dù). Sau đó, đường cơ sở của nó sẽ là đường cơ sở của khối chứa dòng.
ii) Nếu khối nội tuyến trong câu hỏi có thuộc tính tràn được đặt thành KHÁC. Sau đó, lề dưới của nó sẽ nằm trên đường cơ sở của dòng hộp chứa.
Bây giờ hãy nhìn vào điều này một lần nữa để làm rõ khái niệm của bạn rằng những gì đang xảy ra với div xanh . Nếu có bất kỳ sự nhầm lẫn nào thì ở đây được thêm nhiều ký tự gần với div xanh để thiết lập đường cơ sở của khối chứa và đường cơ sở div xanh được căn chỉnh.
Chà, bây giờ tôi đang tuyên bố rằng họ có cùng đường cơ sở? ĐÚNG?
5 - Vậy thì tại sao không chồng chúng lên nhau và xem liệu chúng có phù hợp với nhau không? Vì vậy, tôi mang div thứ ba: 35px; để kiểm tra xem bây giờ họ có cùng đường cơ sở không?
Bây giờ, chúng tôi đã có điểm đầu tiên của chúng tôi chứng minh.
Chà, sau khi giải thích về điểm thứ hai, điểm thứ hai có thể dễ dàng tiêu hóa và bạn thấy rằng div đầu tiên có thuộc tính tràn được đặt thành khác không nhìn thấy (ẩn) có lề dưới của nó trên đường cơ sở của dòng.
Bây giờ, bạn có thể thực hiện một vài thí nghiệm để minh họa thêm.
- Đặt tràn div đầu tiên: hiển thị (hoặc loại bỏ hoàn toàn) .
- Đặt tràn div thứ hai: khác với hiển thị .
- Đặt cả hai div tràn: khác với hiển thị .
Bây giờ mang lại sự lộn xộn của bạn và xem nếu mọi thứ đang tốt đẹp với bạn.
- Mang lại div nổi của bạn (tất nhiên cần phải
tăng một số chiều rộng của cơ thể) Bạn thấy nó không có tác dụng.
- Mang lại lợi nhuận kỳ lạ tương tự .
- Đặt div màu xanh lá cây thành tràn: hiển thị khi bạn đặt câu hỏi của mình (sự sai lệch đó là do tăng độ rộng đường viền từ 1px đến 5px vì vậy nếu điều chỉnh âm trái, bạn sẽ thấy không có vấn đề gì)
- Bây giờ loại bỏ các ký tự bổ sung mà tôi đã thêm để giúp hiểu . (và tất nhiên loại bỏ tiêu cực trái)
- Cuối cùng giảm chiều rộng cơ thể vì chúng ta không còn cần rộng hơn nữa.
Và bây giờ chúng tôi trở lại nơi chúng tôi bắt đầu.
Hy vọng tôi đã trả lời câu hỏi của bạn.