2013-08-12 4 views
25

input-groupform-inline에 붙이면 input-group은 다른 컨트롤과 인라인 대신 "새 줄"에 양식 아래에 나타납니다.인라인 양식에서 입력 그룹 사용

잘 작동 다른 입력이, inline-block 그들의 display 세트를 가지고 반면 input-group 래퍼 클래스가 tabledisplay 설정을 가지고 있기 때문에이 것 같습니다. 물론 add-on 스팬 (display: table-cell)이 올바르게 정렬되기 위해서는 부모의 속성이 필요하므로 input-groupinline-block 디스플레이를 제공 할 수 없습니다.

그래서 내 질문은 :이 독점적으로 부트 스트랩 클래스를 사용하여 인라인 형태 내부 input-group를 사용할 수 있습니까? 그렇지 않은 경우 사용자 정의 클래스을 사용할 수있는 가장 좋은 방법은 입니다.

여기 내 요점을 설명하는 demo입니다. 코드는 다음과 같습니다.

<form action="" class="form-inline"> 
    <input type="text" class="form-control" placeholder="Works with" style="width: 100px;"/> 
    <input type="text" class="form-control" placeholder="Text Inputs" style="width: 120px;"/> 

    <div class="checkbox"> 
     <label> 
      <input type="checkbox" /> and Checkboxes 
     </label> 
    </div> 
    <select class="form-control" style="width: 150px;"> 
     <option>and Selects</option> 
    </select> 

    <button type="submit" class="btn btn-default">and Buttons</button> 
    <div class="input-group" style="width: 220px;"> 
     <span class="input-group-addon">BUT</span> 
     <input type="text" class="form-control" placeholder="not with input-groups" /> 
    </div> 
</form> 
+2

이 어쩌면 귀하의 경우는 풀 - right'을'입력 그룹 '클래스에서'사용할 수있는 버그입니다. – PiLHA

+0

예 버그 일 수 있습니다. 그리고'pull-right '를 사용하는 것은 제 경우와 상관없이 좋은 해결책이 아닙니다. 입력 사이의 수직 간격이 손실되고 두 입력 그룹이 있으면 잘못 표시됩니다. IMHO 클래스가 내장 된 잘못된 해킹이 아닌 사용자 정의 클래스로 작동하는 솔루션을 사용하는 것이 좋습니다. – edsioufi

답변

42

이것은 실제로 버그 였고 해결되었습니다 (자세한 내용은 issue on github을 확인하십시오).

지금부터 BootStrap의 인라인 양식은 .form-group 인 하위 양식 컨트롤을 래핑해야합니다.

그래서 내 코드가 될 것이다 :

<form action="" class="form-inline"> 
    <div class="form-group"> 
     <input type="text" class="form-control" placeholder="Works with" style="width: 100px;"/> 
    </div> 

    ... 
    <div class="form-group"> 
     <div class="input-group" style="width: 220px;"> 
      <span class="input-group-addon">BUT</span> 
      <input type="text" class="form-control" placeholder="not with input-groups" /> 
     </div> 
    </div> 
</form> 
+5

3.0.3에 있는데도 여전히이 문제가 있습니다. 폼 컨트롤 뒤에 input-group-addon을 추가하면 새로운 라인이 생깁니다. – Marc

+0

@Marc : 3.0.3에 있고 내가 원하는 것을 할 수 있습니다. "form.form -line {display : inline;} form.form -inline .form-group .input-group 입력 + .input-group-addon {width : 초기;} ". 모든 브라우저와 호환되는지 여부는 알 수 없습니다. – Gabriel

+1

@Marc : 입력에 너비 또는 최대 너비가 필요하다는 것을 잊었습니다. – Gabriel

1

원하는 인라인 레이아웃을 얻으려면 양식을 열로 분리해야 할 수도 있습니다. 예를 들어 (당신이 생각한 것) 부트 스트랩 사이트에 here입니다.

시도 무슨 뜻인지 확인하기 위해 컨트롤 주위에

<div class="col-lg-1"></div> 

퍼팅. 물론 12 열에서 작업해야하므로 적절하게 조정해야합니다.

+0

문제가되는 'input-group'에 관계없이 모든 폼 컨트롤을 정렬하기 위해 컬럼을 사용할 수 있습니다. 그럼에도 불구하고 BootStrap은'form-inline' 클래스를 제공합니다 (컬럼 사용을 권장한다면 불필요합니다). 이 [데모] (http://jsfiddle.net/26ZM4/4/)는 인라인 형식이 존재하는 이유는 열을 사용하면 응답이 빠른 디자인 관점에서 좋은 결과를 얻지 못한다는 생각을하게합니다. 필자는 여전히 원주 형 디자인에 대한 사용자 정의 클래스를 선호합니다 (또는 '수평 양식'으로 다시 넘어갈 수도 있습니다). – edsioufi