2010-11-17 23 views
6

Tôi có đánh dấu nàygì đúng cách để nổi những yếu tố

<dt id="dt0"> &nbsp;         </dt> 
<dd id="dd0dd"> <textarea id="dd0"></textarea>   </dd> 

<dt id="dt1"> &nbsp;         </dt> 
<dd id="dd1dd"> <input id="dd1" type="hidden">   </dd> 

<dt id="dt2"> <label for="dd2">Dd2 Label:</label> </dt> 
<dd id="dd2dd"> <input id="dd2" type="text">   </dd> 

<dt id="dt3"> <label for="dd3">Dd3 Label:</label> </dt> 
<dd id="dd3dd"> <input id="dd3" type="text">   </dd> 

<dt id="dt4"> <label for="dd4">Dd4 Label:</label> </dt> 
<dd id="dd4dd"> <input id="dd4" type="text">   </dd> 

mà tôi cần phải nổi để nó trông như thế này (chú ý DD1 đó là một yếu tố tiềm ẩn)

_________________________________    ________________________ 
|        |  Dd2 Label |      | 
|        |    |_______________________| 
|        |  
|        |    ________________________ 
|        |  Dd3 Label |      | 
|        |    |_______________________| 
|        | 
|        |    ________________________ 
|        |  Dd4 Label |      | 
|_______________________________|    |_______________________| 

CSS không thực sự là điều của tôi, nhưng tôi đã thử một loạt các công cụ và có một cái gì đó làm việc, nhưng nó vẫn không nhìn đúng. Đây là CSS tôi có bây giờ.

#dd0dd { 
    float:left; 
} 
#dt1, #dt2, #dt3, #dt4{ 
    float:left; 
    clear:right; 
    width:80px; 
} 
#dd1dd, #dd2dd, #dd3dd, #dd4dd { 
    float:right; 
    clear:right; 
} 

Ai đó có thể cho tôi biết cách tôi có thể cải thiện CSS này để làm cho nó trông đúng.

Chỉnh sửa: Tôi muốn tôi có thể thay đổi đánh dấu để sử dụng bảng hoặc những gì không, nhưng được tạo tự động và không thể thay đổi.

+0

+1 cho hình ảnh ascii. (mà có sự cống hiến, ngay cả khi họ đơn giản) – mpen

+0

@Mark, lol, nó có sự cống hiến. – silow

+0

@Enrico, đó là dd0, textarea – silow

Trả lời

3
#dt1, 
#dt0 { 
    display: none; 
} 

#dd0dd { 
    float:left; 
} 

#dt1, #dt2, #dt3, #dt4{ 
    float:left; 
    width:80px; 
} 

#dd1dd, #dd2dd, #dd3dd, #dd4dd { 
    clear:right; 
} 

Set lề, vv

+0

Cảm ơn bạn người đàn ông, nó đã làm nó. – silow

-2

Đến địa ngục với tableless CSS, bạn có thể đã được thực hiện vài tuần trước nếu bạn chỉ cần đặt tất cả trong một bảng, và sau đó bạn sẽ không phải chống lại sự mâu thuẫn của trình duyệt.

Chúng tôi thậm chí có một vài đồng minh:

Dưới đây là một off giải pháp cuff:

<table> 
    <tr><td rowspan=3> 
    <dt id="dt0"> &nbsp;         </dt> 
    <dd id="dd0dd"> <textarea id="dd0"></textarea>   </dd> 
    </td></tr> 
    <tr style='display:none'><td> 
    <dt id="dt1"> &nbsp;         </dt> 
    <dd id="dd1dd"> <input id="dd1" type="hidden">   </dd> 
    </td></tr> 
    <tr><td> 
    <dt id="dt2"> <label for="dd2">Dd2 Label:</label> </dt> 
    <dd id="dd2dd"> <input id="dd2" type="text">   </dd> 
    </td></tr> 
    <tr><td> 
    <dt id="dt3"> <label for="dd3">Dd3 Label:</label> </dt> 
    <dd id="dd3dd"> <input id="dd3" type="text">   </dd> 
    </td></tr> 
    <tr><td> 
    <dt id="dt4"> <label for="dd4">Dd4 Label:</label> </dt> 
    <dd id="dd4dd"> <input id="dd4" type="text">   </dd> 
    </td></tr> 
</table> 
+0

Tôi ước mình có thể sử dụng một bảng cho việc này, nhưng đánh dấu thực sự được tạo ra từ một API biểu mẫu, vì vậy tôi phải cố gắng và làm việc với nó. – silow

+0

Ha, hai downvotes bởi những người ghét bàn! Bạn chỉ cần làm cho tôi chắc chắn rằng bạn là tất cả các loại hạt! –

+0

Booo! xuống với bảng! – danjah

0

Bạn phải sử dụng <dt><dd> thẻ? Nếu bạn sẽ sử dụng chúng, bạn nên bao quanh tất cả chúng với một thẻ <dl>, nhưng vì bạn muốn hộp văn bản của bạn song song với nhãn của bạn thay vì thụt vào bên dưới chúng, sẽ không dễ dàng hơn khi bao quanh cả hai (nhãn và đầu vào của bạn) trong div? Điều này sẽ giúp bạn bố trí bạn đang tìm kiếm.

+0

Tôi có thẻ

nhưng không bao gồm thẻ được giả định. Tôi muốn tôi có thể thay đổi đánh dấu, nhưng khi tôi nhận xét với Scott, đánh dấu đang được tạo tự động, vì vậy tôi không thể thay đổi nó. – silow

1

nó bao gồm các thẻ dl, mà cần phải có một chiều rộng thiết cho việc bố trí làm việc

phao nổi là một trong những khái niệm khó hiểu nhất của css (tôi dạy những thứ này và một trong những điều khó giải thích nhất đối với sinh viên). nhưng tôi hứa với bạn, một khi bạn đã biết css, bạn sẽ không bao giờ muốn mã lại bảng, ngoại trừ dữ liệu bảng, tốt, cho những bảng nào tuyệt vời.

+0

+1 cho nỗ lực. Tôi đã đi với câu trả lời của kmiyashiro coz nó trông đơn giản hơn, nhưng sẽ sử dụng mã của bạn để học hỏi từ cách tiếp cận của bạn. – silow

+0

hoàn toàn, tôi dựa trên sửa đổi của tôi trên mã của mình, những thứ tốt của nó –

0

Một số loại ghê tởm như thế này có thể làm việc nhưng nó là rất mong manh, độ rộng khác nhau và chiều cao được xác định bằng cách sử dụng "fiddle với nó cho đến khi nó hoạt động" kỹ thuật:

#dt0 { 
    display: none; 
} 

#dd0 { 
    height: 100px; 
} 

#dd0dd { 
    float: left; 
} 

#dt1, #dt2, #dt3, #dt4{ 
    float: left; 
    clear: right; 
    width: 80px; 
    margin-left: 100px; 
} 

#dd1dd, #dd2dd, #dd3dd, #dd4dd { 
    float: right; 
} 

Tính năng này hoạt động trên jsfiddle.net trong Safari, YMMV ở bất kỳ nơi nào khác. Bây giờ tôi cảm thấy dơ bẩn.

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