2013-02-13 40 views
7

Có thể triển khai bố cục dọc với CSS chỉ chứ không phải với các phần tử HTML không?Bố cục theo chiều dọc với CSS mà không sử dụng các yếu tố phá vỡ?

Tôi có danh sách các div trong một div. Theo mặc định, phần tử tiếp theo là quyền cuối cùng, khi không có chỗ nào ở bên phải, nó được đặt bên dưới.

Tôi muốn đạt được điều tương tự với cài đặt kiểu CSS. Có thể không?

By CSS-duy nhất tôi có nghĩa là, chúng tôi đã không thêm bất cứ điều gì như đặc biệt div và con của nó, và làm:

  • yếu tố dòng phá các thẻ (<br/>, <div style="clear:both;"/>)
  • UL
  • bảng (có, vẫn được sử dụng, fg JSF hầu như chỉ dựa trên chúng)

Vì vậy:

<div id="menu"> 
    <a href="something1">Page 1</a> 
    <a href="something2">Page 2</a> 
    <a href="something3">Page 3</a> 
</div> 

Và CSS thực hiện bố trí dọc:

#menu { ??? } 
#menu a { ??? } 

Có ??? mà tôi có thể sử dụng để đạt được những gì tôi muốn?

+0

vì vậy, bạn muốn bạn gắn thẻ cạnh nhau? hoặc trên đầu trang – iConnor

+0

khác bên dưới khác, như thể có
sau mỗi neo –

+0

tôi đã thêm câu trả lời của mình – iConnor

Trả lời

12

Hiển thị thẻ neo dưới dạng phần tử khối.

#menu a { 
display: block; 
} 
+0

Rất đơn giản, tôi không thể tin rằng tôi không thể google tìm kiếm vị trí dọc bằng cách sử dụng CSS chỉ .. –

1

Bạn có ý nghĩa như thế này không?

http://jsfiddle.net/7Y9jS/

#menu { 
    width: 300px; 
} 

#menu a { 
    display: block; 
    background: #ccc; 
    color: #000; 
    padding: 10px 0; 
    text-align: center; 
    margin-bottom: 2px; 
} 


<div id="menu"> 
    <a href="something1">Page 1</a> 
    <a href="something2">Page 2</a> 
    <a href="something3">Page 3</a> 
</div> 
+0

display: block là chìa khóa –

0

bộ hiển thị khối đến một phao sử dụng

#menu a { 
    display: block; 
} 
0

trái

#menu a { 
    float:left; 
} 

và sau đó thêm các nhóm lớp để #menu bạn

.group:before, 
.group:after { 
    content: ""; 
    display: table; 
} 
.group:after { 
    clear: both; 
} 
.group { 
    zoom: 1; /* For IE 6/7 (trigger hasLayout) */ 
}