2013-10-31 48 views
0

我有以下標記(這是一個粗略的估計,但它會這樣做)。 http://jsfiddle.net/6UxRU/1/適合ul輸入的大小

<fieldset> 
<div class="parent"> 
    <input id="inpt" type="text" /> 
    <ul class="checkboxgroup"> 
     <li> 
      <label> 
       <input type="checkbox" />Dominican Republic</label> 
     </li> 
     <li> 
      <label> 
       <input type="checkbox" />Equatorial Guinea</label> 
     </li> 
     <li> 
      <label> 
       <input type="checkbox" />Egypt</label> 
     </li> 
     <li> 
      <label> 
       <input type="checkbox" />French Southern Territories</label> 
     </li> 
    </ul> 
</div> 
</fieldset> 

有沒有什麼辦法可以使寬度ul符合輸入(即使輸入的寬度變化)的寬度是多少?另外,是否有更好的方式強制兩個元素總是處於他們現在的位置,除了使父寬度爲200px?

+1

什麼時候「輸入」寬度改變? – putvande

+0

它不一定會改變,但有可能會有人來設置例如'width:100%'。另外我看到有人在開始時提出了一個可能的答案,可能只是我,但我不明白他們的意思 – DVM

+0

如何?通過改變CSS? – putvande

回答

1

這是你在找什麼? http://jsfiddle.net/6UxRU/4/ 代碼可以改進,但試圖找出這是否是你想要的最終結果。

<fieldset> 
<div class="parent"> 
    <input id="inpt" type="text"/> 
    <ul class="checkboxgroup"> 
     <li> 
      <label> 
       <input type="checkbox" />Dominican Republic</label> 
     </li> 
     <li> 
      <label> 
       <input type="checkbox" />Equatorial Guinea</label> 
     </li> 
     <li> 
      <label> 
       <input type="checkbox" />Egypt</label> 
     </li> 
     <li> 
      <label> 
       <input type="checkbox" />French Southern Territories</label> 
     </li> 
    </ul> 
</div> 
</fieldset> 

.checkboxgroup { 
    border: 1px solid #999999; 
    background: yellow; 
    height: 150px; 
    float: left; 
    margin: 0; 
    overflow-x: hidden; 
    overflow-y: scroll; 
    padding: 5px; 
    clear: both; 
    list-style-type: none; 
    z-index: 1; 
} 
li { 
    font-family: Verdana, Arial, Helvetica, sans-serif; 
    font-size: x-small; 
    display: table-row; 
} 
.checkboxgroup label { 
    float: left; 
    word-break: normal; 
    /*margin-left: 10px;*/ 
} 

.parent{ 
    background-color: green; 
    overflow:hidden; 
    display :inline-block; 
} 

#inpt{ 
    display:block; 
    width:100%;   
} 
+0

家長的'inline-block'回答了我的第二個問題,所以謝謝:)。但是如果你在這裏改變輸入的寬度,'ul'將保持不變。 – DVM

+0

現在你爲什麼要這樣做?你什麼時候會期望輸入的寬度發生變化? – manraj82

+0

嗯,我試圖把它變成一個jQuery插件,將普通的select元素轉換爲一個清單。如果有人試圖使用插件並且他們不希望輸入寬度爲100%,那麼輸入寬度的變化就是我認爲相關的情況。但它可能不是一個相關的問題。這個「插件」的jQuery部分我很熟悉,但css部分正在殺死我:) – DVM