display: inline vs display: block


Câu trả lời:


123

display: block có nghĩa là phần tử được hiển thị dưới dạng một khối, như các đoạn và tiêu đề luôn luôn là. Một khối có một số khoảng trắng bên trên và bên dưới nó và không chấp nhận các phần tử HTML bên cạnh, ngoại trừ khi được yêu cầu khác (ví dụ bằng cách thêm một khai báo float vào một phần tử khác).

display: inline có nghĩa là phần tử được hiển thị nội tuyến, bên trong khối hiện tại trên cùng một dòng. Chỉ khi nằm giữa hai khối, phần tử mới tạo thành một 'khối ẩn danh', tuy nhiên nó có chiều rộng nhỏ nhất có thể.

Đọc thêm về các tùy chọn hiển thị: http://www.quirksmode.org/css/display.html


1
Có bất kỳ yếu tố nào là nội tuyến theo mặc định? Khoảng cách?
eshellborn

1
<span> <a> và <img>
EKanadily

80

Khối

Chiếm toàn bộ chiều rộng có sẵn, với một dòng mới trước và sau (display: block;)

Nội tuyến

Chỉ chiếm chiều rộng nhiều như nó cần, và không bắt buộc các dòng mới (display: inline;)


40

display: block - ngắt dòng trước và sau phần tử

display: inline - không ngắt dòng trước hoặc sau phần tử



13

display: block;tạo ra một yếu tố cấp khối , trong khi display: inline;tạo ra một yếu tố cấp độ nội tuyến . Thật khó để giải thích sự khác biệt nếu bạn không quen thuộc với mô hình hộp css, nhưng đủ để nói rằng các phần tử mức khối phá vỡ dòng chảy của tài liệu, trong khi các phần tử nội tuyến thì không.

Một số ví dụ về các yếu tố khối cấp bao gồm: div, h1, p, và hrthẻ HTML.

Một số ví dụ về các yếu tố cấp nội tuyến bao gồm: a, span, strong, em, b, và ithẻ HTML.

Cá nhân, tôi thích nghĩ về các yếu tố nội tuyến như các yếu tố chính tả . Điều này không hoàn toàn hoặc đúng về mặt kỹ thuật, nhưng đối với hầu hết các phần tử nội tuyến thì hoạt động rất giống văn bản.

Bạn có thể đọc thêm thông qua bài viết về chủ đề ở đây . Nhìn thấy như một số người khác trong chủ đề này đã trích dẫn nó, nó có thể đáng đọc.


8

Hiển thị: khối sẽ lấy toàn bộ dòng tức là không ngắt dòng

Hiển thị: nội tuyến sẽ chỉ chiếm không gian chính xác mà nó yêu cầu.

 #block
  {
   display : block;
   background-color:red;
   border:1px solid;
  }

 #inline
 {
  display : inline;
  background-color:red;
  border:1px solid;
 }

Bạn có thể tham khảo ví dụ trong fiddle này http://jsfiddle.net/RJXZM/1/ .


1
tuyệt vời ... đây là những gì tôi đang tìm kiếm
Vicky

7

yếu tố khối mở rộng để điền vào cha mẹ của họ.

yếu tố nội tuyến hợp đồng chỉ đủ lớn để giữ con cái của họ.


5

hiển thị: khối

chiếm toàn bộ hàng (100%) của màn hình, nó luôn luôn là 100% kích thước màn hình

ví dụ khối hiển thị

hiển thị: khối nội tuyến chiếm nhiều chiều rộng cần thiết, nó có thể là 1% - đến 100% kích thước màn hình

hiển thị ví dụ chặn nội tuyến

đó là lý do tại sao chúng ta có div và span

Kiểu mặc định của Div là khối hiển thị: nó chiếm toàn bộ chiều rộng của màn hình

kiểu dáng mặc định của span được hiển thị: khối nội tuyến: span không bắt đầu trên một dòng mới và chỉ chiếm nhiều chiều rộng khi cần thiết


đó là lý do tại sao chúng ta có div và span - đây là bro tuyệt vời :-)
Siva

1

Thêm màu nền cho thành phần và bạn sẽ thấy độc đáo sự khác biệt của nội tuyến so với khối, như được giải thích bởi các áp phích khác.


1

Hiển thị: chặn Nó hoạt động rất giống với các thẻ 'p' và nó chiếm toàn bộ hàng và không thể có bất kỳ yếu tố nào bên cạnh cho đến khi nó nổi lên. Hiển thị: nội tuyến Nó chỉ sử dụng nhiều không gian theo yêu cầu và cho phép các yếu tố khác được căn chỉnh cùng với chính nó.

Sử dụng các thuộc tính này trong trường hợp các hình thức và bạn sẽ hiểu rõ hơn.


0

một khối hoặc khối nội tuyến có thể có chiều rộng (ví dụ: width: 400px) trong khi phần tử nội tuyến không bị ảnh hưởng bởi chiều rộng. phần tử nội tuyến có thể kéo dài đến dòng văn bản tiếp theo (ví dụ http://codepen.io/huijing/pen/PNMxXL thay đổi kích thước cửa sổ trình duyệt của bạn để xem điều đó) trong khi phần tử khối không thể.

 .inline {
      background: lemonchiffon;
      div {
        display: inline;
        border: 1px dashed darkgreen;
      }

Điều này giống như được cho là một câu trả lời cho một trong tám câu trả lời khác cho câu hỏi này. Tôi không thể biết cái nào mặc dù.
Quentin

hầu hết trong số họ. chỉ cần thêm vào thông tin.
EKanadily

0

Các yếu tố khối : Các yếu tố thích div, p, tiêu đề là cấp độ khối. Chúng bắt đầu từ dòng mới và chiếm toàn bộ chiều rộng của phần tử cha. Các phần tử nội tuyến : Các phần tử thích b, i, span, img là cấp độ nội tuyến. Họ không bao giờ bắt đầu từ dòng mới và chiếm chiều rộng của nội dung.


0

Theo mặc định, các phần tử nội tuyến không bắt buộc một dòng mới bắt đầu trong luồng tài liệu. Mặt khác, các phần tử chặn thường gây ra ngắt dòng xảy ra, bạn có thể tham khảo liên kết này


Cảm ơn bạn vì câu trả lời. Vui lòng kiểm tra các câu trả lời khác lần đầu tiên, vì điều này không thêm bất cứ điều gì mới.
BluE

Thưa ông, tôi đã trả lời câu hỏi này dựa trên kiến ​​thức mà tôi biết, tại sao tôi lại thấy những câu trả lời khác và đăng câu trả lời của mình, bạn đã đăng bình luận này cho tất cả những người trả lời câu hỏi này chưa.
Rohan Devaki
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.