2012-04-05 44 views

Trả lời

3

Tôi đã thử một số cách. Ngoài ra, để thêm các kiểu trong tệp html, trông đẹp mắt trên máy tính để bàn, chứ không phải trên các thiết bị di động.

Giải pháp là thay đổi bootstrap.css (mặc dù tôi không chắc chắn cho dù tập tin này là intented phải được thay đổi):

.form-horizontal .control-label { 
    float: left; 
    /*original: width: 140px;*/ 
    width: 200px; 
    padding-top: 5px; 
    text-align: right; 
} 
.form-horizontal .controls { 
    /*original: margin-left: 160px;*/ 
    margin-left: 220px; 
} 
+11

Chỉnh sửa tệp CSS của thư viện gần như không bao giờ là ý tưởng hay vì nó giúp nâng cấp và bảo trì cơn ác mộng. –

+0

+1 Michael Moussa, -1 cho câu trả lời của người đăng. – Mtz

+1

Tuy nhiên, bạn có thể tạo tệp css của riêng bạn ghi đè các giá trị này. – AlexLordThorsen

0

Đừng quên để chỉnh sửa

.form-actions { 
    padding-left: 160px; 
} 

cũng như trong forms.less

Điều này nên được đặt là một biến, tôi nghĩ vậy.

Tôi đã sửa đổi đó đối với tôi như vậy trong forms.less (hai biến mới được thiết lập trong variables.less sau đó):

// Horizontal-specific styles 
// -------------------------- 

.form-horizontal { 
    // Increase spacing between groups 
    .control-group { 
    margin-bottom: @baseLineHeight; 
    .clearfix(); 
    } 
    // Float the labels left 
    .control-label { 
    float: left; 
    // ub was 140px 
    width: @labelWidth; 
    padding-top: 5px; 
    text-align: right; 
    } 
    // Move over all input controls and content 
    .controls { 
    // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend 
    // don't inherit the margin of the parent, in this case .controls 
    *display: inline-block; 
    // ub was 20px 
    *padding-left: @labelPadding; 
    // ub was 160px 
    margin-left: @labelWidth + @labelPadding; 
    *margin-left: 0; 
    &:first-child { 
     // ub was 160px 
     *padding-left: @labelWidth + @labelPadding; 
    } 
    } 
    // Remove bottom margin on block level help text since that's accounted for on .control-group 
    .help-block { 
    margin-top: @baseLineHeight/2; 
    margin-bottom: 0; 
    } 
    // Move over buttons in .form-actions to align with .controls 
    .form-actions { 
    // ub was 160px 
    padding-left: @labelWidth + @labelPadding; 
    } 
} 
+0

Không bao giờ chỉnh sửa các tập tin thư viện, vì nó làm cho việc nâng cấp và bảo trì trở nên rất khó khăn. -1 cho câu trả lời này. – Mtz

+0

Câu trả lời này liên quan đến câu trả lời bên dưới (đã tấn công chiều rộng pixel) và có cải tiến cho bootstrap, vì nó đã sửa đổi các mục cố định thành một biến. Bản chỉnh sửa tôi đã đề xuất ở đây hiện được triển khai với @horizontalComponentOffset trong phiên bản bootstrap hiện tại. – Urs

+0

Tôi cũng đã downvoted câu trả lời khác cũng vì lý do tương tự, đừng lo lắng. Tôi duy trì quan điểm của mình. Nếu bạn muốn cải thiện câu trả lời khác, bạn có thể đã chỉnh sửa nó hoặc nhận xét về nó. – Mtz

5

Trong Bootstrap v2.1.1, chiều rộng .control-label được định nghĩa trong forms.less như thế này:

.form-horizontal 
{ 
    .control-label 
    { 
     width: @horizontalComponentOffset - 20; 
    } 
} 

bạn có thể ghi đè lên các định nghĩa biến @horizontalComponentOffset trong mã LESS của dự án của bạn sau khi nhập bootstrap của variables.less. Nếu bạn cần điều này cho một trang cụ thể, hãy làm điều đó trong LESS của trang đó. Nếu không, hãy thêm nó một cách nhập phổ biến, hoặc tốt hơn, tệp variables.less của riêng bạn nhằm ghi đè các biến được xác định trước của Bootstrap.

Khi di động đi, bạn có thể sử dụng media queries để cung cấp giá trị @horizontalComponentOffset khác cho thiết bị di động, nếu cần.

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