2012-10-07 63 views
13

Làm cách nào để cung cấp khoảng cách giữa văn bản nội tuyến và các mục nhập trong JADE?khoảng cách giữa văn bản nội tuyến và các mục nhập trong JADE?

div(data-role="horizontal", data-theme="a", data-overlay-theme="a", data-inline="true",class="ui-bar ui-grid-c") 
         div(class='ui-block-a') 
          div(data-role='fieldcontain') 
           label(for='memberaddress') Address Proof 
           textarea(id='memberaddress',name='memberaddress') 
         div(class='ui-block-b') 
          div(data-role="fieldcontain") 
           label(for="proof") Proof ID 
           select(name='proof', id='proof', data-theme='a', data-icon='bank', data-inline='true', data-native-menu="false") 
            option(value='0') Select Proof 
            option(value='1') Voter ID 
            option(value='2') Driving Licence 
            option(value='3') PANCARD 
            option(value='4') Ration Card 
         div(class='ui-block-c') 
          div(data-role="fieldcontain")       
           input(type='checkbox', name='addressmatchedCheck', id='addressmatchedCheck', data-inline="true") 
           label(for='addressmatchedCheck') Address Matched 

đầu ra của tôi là: Attached Image is my output

tôi không thể để có được khoảng trống giữa nhãn và textarea.

+1

điều này trông giống như vấn đề về CSS hơn là vấn đề về Ngọc. –

+2

không, đây không phải là vấn đề về CSS. các phần tử khối nội tuyến không được xếp chồng lên nhau trực tiếp bên cạnh nhau sẽ có một vài pixel khoảng trắng, trong khi các phần tử xếp chồng trực tiếp bên cạnh mỗi phần tử sẽ không được xếp chồng lên nhau. Đây là một vấn đề HTML cần phải được tính trong ngôn ngữ templating. Tài khoản Slim cho điều này bằng cách cho phép bạn đặt xem bạn có muốn dấu cách trắng ở cuối hay không.Theo mặc định không có dấu cách trắng. – Larry

Trả lời

7

thêm lợi nhuận để css của bạn như jonathan ong gợi ý, hoặc bạn có thể thêm |   hoặc span   giữa nhãn và textarea bạn

+1

'| 'với ít nhất hai dấu cách cũng vậy. xem: http://stackoverflow.com/a/22220139/1407622 – rriemann

+4

Đó không phải là một ý tưởng tuyệt vời, vì cam kết có thể loại bỏ khoảng trắng sau. –

+1

lề không phải là câu trả lời đúng. Lề là CSS. Trailing khoảng trắng là một hành vi của nhiều phần tử khối nội tuyến không được xếp chồng lên nhau ngay bên cạnh nhau. Đây là một vấn đề HTML. Sử dụng CSS, thực thể html hoặc bất kỳ tùy chọn nào khác là hack. Jade cần phải tính toán cho những người thực sự muốn có khoảng trống màu trắng. – Larry

1

Ngoài ra còn có các "khá" tùy chọn

Bạn sẽ có thể gọi ngọc như vì vậy (xem http://jade-lang.com/api/):

var fn = jade.compile('string of jade', {pretty: true}); 

Nó sẽ chèn ngắt dòng và thụt lề trong đầu ra giữa tất cả các nút trong mẫu của bạn.

Nếu bạn chỉ muốn chèn một không gian này, một tùy chọn là

label(for='memberaddress') Address Proof 
=' ' 
textarea(id='memberaddress',name='memberaddress') 
+0

'--pretty' (qua CLI) và' {pretty: true} '(thông qua API) không giúp bạn có khoảng trắng giữa các phần tử nội tuyến. Thay vào đó, nó chỉ cung cấp khoảng trắng, bao gồm cả dòng mới và thụt đầu dòng, giữa các phần tử khối. – matty

0

Như đã xác định trong câu trả lời khác, vấn đề thực sự là với html rằng Jade tạo ra chứ không phải là css. Điều đó nói rằng, một cách để tạo ra một số không gian, mà không thay đổi đánh dấu, là thêm một lề ở bên phải của label của bạn.

@leff được đề cập sử dụng =' '. Tôi chưa bao giờ thấy điều đó trước đây, và tôi không thể tìm thấy nó trong tài liệu Jade. Tôi thích nó hoạt động, nhưng không nhìn thấy tài liệu, tôi ngần ngại sử dụng nó trong sản xuất.

Tôi nghĩ tùy chọn tốt nhất là sử dụng   bất cứ khi nào bạn cần chèn khoảng trắng cho phép văn bản được bọc.   có thể hoạt động trong trường hợp bạn mô tả, nếu bạn thực sự muốn ngăn văn bản không bao gồm các phần tử đó. Tôi là một người đề xuất cho phép tất cả mọi thứ để bọc và chảy, vì vậy tôi thường sử dụng   khi tôi cần phải đảm bảo Jade là nhổ ra một không gian.

Bạn sẽ tìm thấy   và một vài lựa chọn thay thế "không gian" khác trên trang w3c character entity reference.

+0

Tôi đã sai về tài liệu cho '='. Nó nằm trong trang "Mã" của tài liệu Ngọc bích] (http://jade-lang.com/reference/code/). – matty

0

Lựa chọn 1 (lựa chọn của tôi)

input(type='button') 
|   
input(type='button') 

Lựa chọn 2

input(type='button') 
= ' ' 
input(type='button') 

Lựa chọn 3

input(type='button') 
| 
input(type='button') 

Có ot của cô mặc dù ....

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