2012-11-08 3 views
1

나는 다음과 같은 HTML이 :입력 추가 클래스가 유체 격자의 입력 너비를 분할하는 이유는 무엇입니까?

<div class="container-fluid"> 
<div class="row-fluid"> 
    <div class="span8"> 
     <form class="form-horizontal"> 
      <div class="control-group"> 
       <label class="control-label">Field 1</label> 
      <div class="controls"> 
       <input type="text" /> 
       </div> 
      </div> 
      <div class="control-group"> 
       <label class="control-label">Field 2</label> 
      <div class="controls"> 
       <div class="input-append"> 
       <input type="text" /> 
        <span class="add-on">%</span> 
       </div> 
       </div> 
      </div> 
     </form> 
    </div> 
</div> 

다음과 같은 스타일 :

입력 { 폭 : 100 %; }

필드 1의 입력 상자가 예상대로 작동합니다. 그러나 필드 2는 고정 폭을 갖는 것으로 보입니다. 왜 이런 일이 일어나고 그것을 고칠 수있는 방법이 있습니까? 다른 텍스트 필드와 일치하도록 범위 내에서 동일한 100 % 너비로 입력되도록 추가하고 싶습니다. 여기

예 : 때문에 두 번째 입력에의 http://jsfiddle.net/PilotBob/erT7d/

+0

부트 스트랩 CSS입니다. –

+1

당신이 생각하는 것보다 작은 다른 컨테이너가 있기 때문입니다. 100 %는 가장 가까운 조상만을 나타냅니다. –

+0

100 %는 특정 너비의 가장 가까운 조상을 나타내야합니까? 입력 추가에 너비가 설정되어 있다고 하시겠습니까? – PilotBob

답변

1

, 당신은 당신이 생각하는 것보다 작은 다른 용기, .input-append을 보유하고 있습니다. 부트 스트랩은 inline-block-block에서 classinput-append이있는 div의 기본 display 값을 변경하기 때문에

뿐만 아니라 width:100%;solved this problem.

+0

아 감사합니다. 나는 그것을 시도했다. 내가 잊었을거야. 스타일. – PilotBob

+0

나쁜 것은 첨부 된 은 span8 그리드 외부에 있습니다. 어쨌든 그것이 그리드에 있어야합니까? – PilotBob

+0

그건 좀 더 복잡해 질 수도 있지만 가능합니다. 기다려. –

1

그것을 설정이 문제가 발생합니다.

width:100%의 입력 폭은 보통과 같지만 add-on은 오버플로하거나 width:95%이되도록 설정할 수 있습니다.

First solution with width:100%

Second solution with width:95%

+0

감사합니다 ...95 %는 실제로 작동하지 않습니다. 왜냐하면 컨테이너 크기를 조정할 때 너비 차이가 일정하기 때문입니다. – PilotBob

0

나는이 파일을 저장하고 실행했다. 문제점을 찾지 못했습니다

<style> 
input{width: 100%;} 
</style> 
<div class="container-fluid"> 
<div class="row-fluid"> 
<div class="span8"> 
    <form class="form-horizontal"> 
     <div class="control-group"> 
      <label class="control-label">Field 1</label> 
     <div class="controls"> 
      <input type="text" /> 
      </div> 
     </div> 
     <div class="control-group"> 
      <label class="control-label">Field 2</label> 
     <div class="controls"> 
      <div class="input-append"> 
      <input type="text" /> 
       <span class="add-on">%</span> 
      </div> 
      </div> 
     </div> 
    </form> 
    </div> 
</div> 

그러나 언급 된 URL에서 작동하지 않는 이유는 무엇입니까? 이 문제를 만드는 다른 곳에있는 경우가, 몇 가지 이유

  1. 부족 컨테이너 폭을 부모 또는 컨테이너 폭이 당신이 CSS를 나중에 폭을 덮어 쓸 수있다 문제
  2. 를 해결할 생략, "입력을 사용할 수 있습니다 {width : 100 %! importtant;} "
관련 문제