2013-05-19 36 views
5

Tại sao mã này:CSS display: block và position: fixed

div { 
    background-color: yellow; 
    display:block; 
    position:fixed; 
} 

không hiển thị div như display:block (ví dụ: dòng chảy trên trang) khi tôi thêm position:fixed? Có vẻ như nó hoạt động không?

N.B. Tôi rất mới với CSS vì vậy tôi appologise nếu nó chỉ là một lỗi ngớ ngẩn

+0

ý của bạn là "dòng chảy trên trang" và bạn sử dụng trình duyệt nào? bạn đã thử cài đặt bên trái, trên cùng, dưới cùng chưa? – androidavid

+0

div không có chiều rộng hoặc chiều cao – underscore

+0

http://jsfiddle.net/tutspack/KFKGk/ xem – underscore

Trả lời

3

Bạn cần thêm chiều rộng và chiều cao cho bất kỳ thành phần [trống] nào với vị trí fixed hoặc absolute, nếu không chúng sẽ không có kích thước.

HTML:

<div><div> 

CSS:

div { 
    background-color: yellow; 
    display:block; 
    position:fixed; 
    width:100px; 
    height:100px; 
} 

DEMO

Cuối cùng u cần một cái gì đó giống như this

+3

Liên kết bị hỏng. Bạn có thể sửa chúng không? –

+1

Đối với hai thanh điều hướng, hãy thêm chiều cao và hàng đầu được giải quyết cho tôi –

9

Khi bạn sử dụng position: fixed; hoặc position: absolute;, nguyên tố này được đưa ra khỏi sự tái dòng chảy của tài liệu.

Cài đặt mặc định cho width cho thành phần divauto, có nghĩa là nó sẽ sử dụng toàn bộ chiều rộng có sẵn ở vị trí hiện tại. Khi bạn lấy nó ra khỏi luồng, không còn bất kỳ thước đo khả dụng nào cho chiều rộng có sẵn (vì đó sẽ là vô hạn), vì vậy thay vào đó phần tử sẽ lấy chiều rộng của nó từ nội dung của nó.

+0

Làm cách nào để làm cho nó có chiều rộng của trang? – Sebiddychef

+0

@ Sebiddychef: Bạn không thể, nhưng bạn vẫn có thể sử dụng 'width: 100%;' để làm cho nó có chiều rộng giống với phần tử cha. Bản trình diễn: http://jsfiddle.net/Guffa/RLQj6/ – Guffa

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