2015-12-30 75 views
5

我有asp.net網站。由於某種原因,我無法在我的代碼中使用JavaScript。我用這個代碼創建一個膨脹的表:當擴展另一個元素時收起元素只有css

html, body, form { 
 
    margin: 0 auto; 
 
    padding: 0; 
 
    text-align: left; 
 
    height: 100%; 
 
    top: 0; 
 
    bottom: 0; 
 
    overflow: hidden; 
 
} 
 

 
tr:nth-child(even) { 
 
    background: #F5F5F5; 
 
} 
 

 
tr:nth-child(odd) { 
 
    background: #DCDCDC; 
 
} 
 

 
tr:hover 
 
{ 
 
    background-color: #D3D3D3; 
 
} 
 
.toggle-box { 
 
    display: none; 
 
} 
 

 
.toggle-box + label { 
 
    cursor: pointer; 
 
    display: block; 
 
    font-weight: bold; 
 
    line-height: 25px; 
 
    margin-bottom: 2px; 
 
    margin-left: 5px; 
 
    background-color: #F1F8FF; 
 
    border-bottom: 1px solid gray; 
 
} 
 

 
.toggle-box + label:hover { 
 
    background-color: #C5ECFF; 
 
} 
 

 
.toggle-box + label + div { 
 
    display: none; 
 
    margin-bottom: 10px; 
 
    margin-left: 20px; 
 
} 
 

 
.toggle-box:checked + label + div { 
 
    display: block; 
 
} 
 

 
.toggle-box + label:before { 
 
    background-color: #66AEFF; 
 
    -webkit-border-radius: 15px; 
 
    -moz-border-radius: 15px; 
 
    border-radius: 15px; 
 
    color: #FFFFFF; 
 
    content: "+"; 
 
    display: block; 
 
    float: left; 
 
    font-weight: bold; 
 
    height: 25px; 
 
    line-height: 25px; 
 
    margin-right: 5px; 
 
    text-align: center; 
 
    width: 25px; 
 
} 
 

 
.toggle-box:checked + label:before { 
 
    content: "\2212"; 
 
} 
 
#matru { 
 
    border: 0; 
 
    text-align: left; 
 
    position: absolute; 
 
    top: 100px; 
 
    left: 300px; 
 
}
<div runat="server" id="sidebar" style="padding: 5px 0 0 5px;"> 
 
    <input class='toggle-box' id='header1' type='checkbox' /><label for='header1'>Nguyễn Văn Tư</label><div> 
 
     <table style='text-align: left; width: 100%; vertical-align: middle;'> 
 
      <tr> 
 
       <td>Tên khách hàng</td> 
 
       <td>Nguyễn Văn Tư</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Mã khách hàng</td> 
 
       <td>PC06LL0191387</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Sery công tơ</td> 
 
       <td>14138734</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Chỉ số cũ</td> 
 
       <td>194.000</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Chỉ số mới</td> 
 
       <td>196.60</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Sản lượng mới</td> 
 
       <td>2</td> 
 
      </tr> 
 
     </table> 
 
    </div> 
 
    <input class='toggle-box' id='header2' type='checkbox' /><label for='header2'>ĐInh Thị Tha</label><div> 
 
     <table style='text-align: left; width: 100%; vertical-align: middle;'> 
 
      <tr> 
 
       <td>Tên khách hàng</td> 
 
       <td>ĐInh Thị Tha</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Mã khách hàng</td> 
 
       <td>PC06LL0182038</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Sery công tơ</td> 
 
       <td>14140069</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Chỉ số cũ</td> 
 
       <td>2050.000</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Chỉ số mới</td> 
 
       <td>2104.10</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Sản lượng mới</td> 
 
       <td>54</td> 
 
      </tr> 
 
     </table> 
 
    </div> 
 
    <input class='toggle-box' id='header3' type='checkbox' /><label for='header3'>Nguyễn Văn Nhựt</label><div> 
 
     <table style='text-align: left; width: 100%; vertical-align: middle;'> 
 
      <tr> 
 
       <td>Tên khách hàng</td> 
 
       <td>Nguyễn Văn Nhựt</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Mã khách hàng</td> 
 
       <td>PC06LL0190775</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Sery công tơ</td> 
 
       <td>14138746</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Chỉ số cũ</td> 
 
       <td>2699.000</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Chỉ số mới</td> 
 
       <td>2785.10</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Sản lượng mới</td> 
 
       <td>86</td> 
 
      </tr> 
 
     </table> 
 
    </div> 
 
    <input class='toggle-box' id='header4' type='checkbox' /><label for='header4'>Mai Văn Lý</label><div> 
 
     <table style='text-align: left; width: 100%; vertical-align: middle;'> 
 
      <tr> 
 
       <td>Tên khách hàng</td> 
 
       <td>Mai Văn Lý</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Mã khách hàng</td> 
 
       <td>PC06LL0182035</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Sery công tơ</td> 
 
       <td>14138744</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Chỉ số cũ</td> 
 
       <td>2581.000</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Chỉ số mới</td> 
 
       <td>2631.70</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Sản lượng mới</td> 
 
       <td>50</td> 
 
      </tr> 
 
     </table> 
 
    </div> 
 
</div>

全部代碼在這裏:https://jsfiddle.net/pdhung197/3eomjp3m/
但我想更多:當我點擊一個摺疊的元素,該元素將擴大和其他元素將被摺疊。
該項目只能使用CSS,否JavaScript所以我沒有辦法解決這個問題。

+0

這jsfiddle與內聯的CSS和不可讀的HTML是不好的。請提供一個可以重現問題並且可讀的jsfiddle。我個人會使用這樣的:http://webdesignerhut.com/create-pure-css-tabs/。 – Senthe

+0

你能告訴我你是如何打開該div的? –

+0

@HarshSanghani:這個div是一個側邊欄,並在身體左側的固定位置。 –

回答

4

訣竅很簡單。只需將checkbox的輸入替換爲radio,並在所有inputs中添加屬性name具有相同的值。

這種變化意味着在同一時間只有一個輸入可以是checked。所以,如果你點擊一個項目,其餘的將被關閉。

html, body, form { 
 
    margin: 0 auto; 
 
    padding: 0; 
 
    text-align: left; 
 
    height: 100%; 
 
    top: 0; 
 
    bottom: 0; 
 
    overflow: hidden; 
 
} 
 

 
tr:nth-child(even) { 
 
    background: #F5F5F5; 
 
} 
 

 
tr:nth-child(odd) { 
 
    background: #DCDCDC; 
 
} 
 

 
tr:hover 
 
{ 
 
    background-color: #D3D3D3; 
 
} 
 
.toggle-box { 
 
    display: none; 
 
} 
 

 
[type="reset"] { 
 
    border: 0; 
 
    width: 100%; 
 
    text-align: inherit; 
 
    padding: 0; 
 
    font: inherit; 
 
    margin: 0; 
 
    outline:0 !important; 
 
} 
 

 
.toggle-box + label, 
 
[type="reset"]{ 
 
    cursor: pointer; 
 
    display: block; 
 
    font-weight: bold; 
 
    line-height: 25px; 
 
    margin-bottom: 2px; 
 
    margin-left: 5px; 
 
    background-color: #F1F8FF; 
 
    border-bottom: 1px solid gray; 
 
} 
 

 
.toggle-box + label:hover { 
 
    background-color: #C5ECFF; 
 
} 
 

 
.toggle-box + label + button { 
 
    display:none; 
 
} 
 

 
.toggle-box:checked + label { 
 
    display:none; 
 
} 
 

 
.toggle-box:checked + label + button { 
 
    display:block; 
 
} 
 

 
.toggle-box + label + button + div { 
 
    display: none; 
 
    margin-bottom: 10px; 
 
    margin-left: 20px; 
 
} 
 

 
.toggle-box:checked + label + button + div { 
 
    display: block; 
 
} 
 

 
.toggle-box + label:before, 
 
[type="reset"]:before{ 
 
    background-color: #66AEFF; 
 
    -webkit-border-radius: 15px; 
 
    -moz-border-radius: 15px; 
 
    border-radius: 15px; 
 
    color: #FFFFFF; 
 
    content: "+"; 
 
    display: block; 
 
    float: left; 
 
    font-weight: bold; 
 
    height: 25px; 
 
    line-height: 25px; 
 
    margin-right: 5px; 
 
    text-align: center; 
 
    width: 25px; 
 
} 
 

 
.toggle-box:checked + label:before { 
 
    content: "\2212"; 
 
} 
 
#matru { 
 
    border: 0; 
 
    text-align: left; 
 
    position: absolute; 
 
    top: 100px; 
 
    left: 300px; 
 
}
<form> 
 
    <div runat="server" id="sidebar" style="padding: 5px 0 0 5px;"> 
 
    <input class='toggle-box' id='header1' type="radio" name="radio" /><label for='header1'>Nguyễn Văn Tư</label> 
 
    <button type="reset">Nguyễn Văn Tư</button> 
 
    <div> 
 
     <table style='text-align: left; width: 100%; vertical-align: middle;'> 
 
     <tr> 
 
      <td>Tên khách hàng</td> 
 
      <td>Nguyễn Văn Tư</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Mã khách hàng</td> 
 
      <td>PC06LL0191387</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Sery công tơ</td> 
 
      <td>14138734</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Chỉ số cũ</td> 
 
      <td>194.000</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Chỉ số mới</td> 
 
      <td>196.60</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Sản lượng mới</td> 
 
      <td>2</td> 
 
     </tr> 
 
     </table> 
 
    </div> 
 
    <input class='toggle-box' id='header2' type='radio' name="radio" /><label for='header2'>ĐInh Thị Tha</label> 
 
    <button type="reset">ĐInh Thị Tha</button> 
 
    <div> 
 
     <table style='text-align: left; width: 100%; vertical-align: middle;'> 
 
     <tr> 
 
      <td>Tên khách hàng</td> 
 
      <td>ĐInh Thị Tha</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Mã khách hàng</td> 
 
      <td>PC06LL0182038</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Sery công tơ</td> 
 
      <td>14140069</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Chỉ số cũ</td> 
 
      <td>2050.000</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Chỉ số mới</td> 
 
      <td>2104.10</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Sản lượng mới</td> 
 
      <td>54</td> 
 
     </tr> 
 
     </table> 
 
    </div> 
 
    <input class='toggle-box' id='header3' type='radio' name="radio" /><label for='header3'>Nguyễn Văn Nhựt</label> 
 
    <button type="reset">Nguyễn Văn Nhựt</button> 
 
    <div> 
 
     <table style='text-align: left; width: 100%; vertical-align: middle;'> 
 
     <tr> 
 
      <td>Tên khách hàng</td> 
 
      <td>Nguyễn Văn Nhựt</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Mã khách hàng</td> 
 
      <td>PC06LL0190775</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Sery công tơ</td> 
 
      <td>14138746</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Chỉ số cũ</td> 
 
      <td>2699.000</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Chỉ số mới</td> 
 
      <td>2785.10</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Sản lượng mới</td> 
 
      <td>86</td> 
 
     </tr> 
 
     </table> 
 
    </div> 
 
    <input class='toggle-box' id='header4' type='radio' name="radio" /><label for='header4'>Mai Văn Lý</label> 
 
    <button type="reset">Mai Văn Lý</button> 
 
    <div> 
 
     <table style='text-align: left; width: 100%; vertical-align: middle;'> 
 
     <tr> 
 
      <td>Tên khách hàng</td> 
 
      <td>Mai Văn Lý</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Mã khách hàng</td> 
 
      <td>PC06LL0182035</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Sery công tơ</td> 
 
      <td>14138744</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Chỉ số cũ</td> 
 
      <td>2581.000</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Chỉ số mới</td> 
 
      <td>2631.70</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Sản lượng mới</td> 
 
      <td>50</td> 
 
     </tr> 
 
     </table> 
 
    </div> 
 
    </div> 
 
</form>

http://jsbin.com/pefobi

注:如果你需要第二次點擊將再次關閉選項卡,你有form代碼封裝所有。

+0

你救了我。非常感謝 ! –

+0

不客氣;)祝你好運.. –

+1

不錯的解決方案,但有一個問題。您無法使用相同的點擊進行摺疊。 – ketan

相關問題