2011-12-20 60 views
23

Có thể ai đó đưa ra một giải pháp đơn giản về cách căn chỉnh đầu vào biểu mẫu trên cùng một dòng, ví dụ: nhiều lần khi tôi tạo biểu mẫu tôi có thể xếp chúng lên trên cùng nhau và có vẻ như âm thanh, nhưng nếu tôi đặt hai đầu vào giống như văn bản/văn bản bên cạnh văn bản hoặc nút khác, tôi sẽ nhận được sự khác biệt căn chỉnh theo chiều dọc. Có cách nào để khắc phục điều này mà không có vấn đề với lề và đệm?Căn chỉnh đầu vào html trên cùng một dòng

ví dụ:

<style type='text/css'> 
    form{ 
    display:inline; 
    } 
    textarea{ 
    font-size:25px; 
    height:25px; 
    width:200px; 
    } 
    input.button{ 
    height:25px; 
    width:50px; 
    } 
</style> 
<form> 
    <textarea >Value</textarea><input type='button' class='button' value='Go'> 
</form> 
+0

đảm bảo bạn không rõ ràng: để lại một nơi nào đó – zok

Trả lời

30

Các bạn đã thử chơi với vertical-align tài sản css?

vertical-align:top; 

Bằng cách đó tất cả mọi thứ sẽ xem xét phù hợp và bạn sẽ không phải chơi với lợi nhuận.

7
textarea,input.button{display:inline-block;} 

hoặc

textarea,input.button{float:left;} 

đưa đón bạn tùy thuộc vào cách bạn phản đối theo chiều dọc

+0

cảm ơn bạn, nhưng tôi có thể nhận được chúng trên cùng một dòng, nó chỉ là khi tôi làm, họ là tôi n địa điểm khác nhau theo chiều dọc. Tôi đã thử cả hai điều đó và nó không tạo ra sự khác biệt nào. –

+0

bạn muốn căn chỉnh nào? đầu hoặc tuôn ra đáy? –

+0

Ngoài ra - hãy chắc chắn rằng bạn có loại tài liệu hợp lệ và cũng làm cho biểu mẫu trở thành một phần tử khối vì bạn sẽ nhận được kết quả đáng tin cậy hơn. –

0
<table> 
    <tr> 
    <td><input /></td> 
    <td><input /></td> 
    </tr> 
</table> 

Chắc chắn, nó làm cho CSS chủ nghĩa thuần túy cảm thấy lúng túng, nhưng nó chắc chắn dễ dàng ...

+9

Và những người thuần túy HTML, và những người thuần túy JavaScript, và các nhà phát triển web nói chung ... – David

+3

mang lại những kẻ thù ... – ShaneBlake

+0

Tôi thích ý tưởng này, tuy nhiên tôi đang cố gắng di chuyển ra khỏi các bảng cho trang này vì tất cả nội dung đang được tải. –

3

Thêm một vertical-align dường như work for me:

<style type='text/css'> 
    form{display:inline;} 
    textarea{width:200px;height:25px;font-size:25px;vertical-align:middle} 
    input.button{width:50px;height:25px;vertical-align:middle} 
</style> 
<form><textarea >Value</textarea><input type='button' class='button' value='Go'></form> 
+0

Tuyệt vời. Tôi hy vọng nó hoạt động qua trình duyệt –

+0

@RyanStortz: Không thể nói chắc chắn. Tôi đang ở trên Firefox 8.0 tại đây. Dường như làm việc trong IE 9.0.(Mặc dù trong phần sau có các nút cuộn trên 'textarea' mà là xấu xí, bạn có thể muốn loại bỏ chúng một cách rõ ràng cho các trình duyệt thêm chúng theo mặc định.) – David

+0

Yea, nó làm việc cho tôi. Tôi có một hàm js đơn giản làm tăng chiều cao của vùng văn bản cho mỗi ngắt dòng vì vậy nó không phải là một vấn đề. –

1

Bạn thường có thể sử dụng display:inline-block; hoặc float:left; Bạn muốn các vật phẩm được làm to ở đầu hoặc cuối?

Trong ví dụ của bạn, bạn chưa đóng loại đầu vào, nó phải là type='button' - bạn đang thiếu apos.

1

Chỉ cần cho float:left vào textarea

http://jsfiddle.net/2qdJc/2/

+0

Tôi thực sự có một điều chống lại phao nổi, họ chỉ có vẻ rất ngẫu nhiên với tôi, nhưng cảm ơn tôi nghĩ rằng tôi có thể làm cho nó hoạt động ngay bây giờ –

0

Bạn có thể làm một cái gì đó như thế này (làm việc trong trường hợp của tôi):

<div style="width:150px"><p>Start: <input type="text" id="your_id"></p> 
    </div> 

<div style="width:130px;margin-left: 160px;margin-top: -52px"> 
<a href="#" data-role="button" data-mini="true">Button</a> 
</div> 

Đây là một bản demo: http://jsfiddle.net/gn3qx6w6/1/

+0

Ví dụ đơn giản và tốt đẹp. –

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