8

私は1つしか持っておら<UL>ず、その下にグループがあります<LI>

 <ul>
   <li>1<li>
   <li>2<li>

   <li>3</li>
   <li>4<li>

 </ul>

今、私はそれらをTABLEとして表示したかったのですが、CSSで私を助けてください.UL / LIを下の表形式でTABLEとして表示するにはどうすればよいですか.1つのTR(2つのTD)に2つのLIを設定するなど.

ここに画像の説明を入力

4

3 に答える 3

9

さて、考えられる解決策の 1 つを次に示します。

ul {
    width: 450px;           /* change it to whatever you like */
    position: relative;

    /* these should be probably already set up by `reset.css` */ 
    list-style-type: none;
    margin: 0;
    padding: 0;
}

ul:before, ul:after {
    text-align: center;
    display: block;
    border: 1px solid black;
    border-bottom: 0;
    width: 48%;
}

ul:before {
    content: 'col1';
    border-right: 0;    
}

ul:after {
    content: 'col2';
    position: absolute;
    top: 0;
    left: 48%;
    margin-left: 1px;    
}

li {
    text-align: right;
    width: 48%;
    float: left;
    border: 1px solid black;
    margin-bottom: -1px;
}

li:nth-child(even) {
    margin-left: -1px;
}

それは動作します ( JSFiddle ; Chrome、Firefox、および Opera でテスト済み;nth-child(even)セレクターは明らかに IE8 で失敗するため、クラスまたはその他の手段でエミュレートする必要があります; それ以外の場合はまだ安定しています) が、私はこれについて罪悪感を感じていることを認めます。)

PS「セル」の内容にパディングを追加する場合は、次のように幅も変更することを忘れないでください

li {
    width: 47%;
    padding-right: 1%;
}
于 2012-12-11T17:31:38.153 に答える
4

本当に遅い回答ですが、これはよくある話題だと思います。これが私が作ったコードペンです

明らかに、それは単なる出発点です。また、bg やボーダーなどのスタイルを追加する方法の例もいくつかあります。たとえば、「セル」に任意のコンテンツが含まれている場合は、寸法を調整する必要があります。私はこの種のコードをサムネイル ギャラリーに使用します。たとえば、境界線や背景を気にする必要がなく、非常に初歩的なコードです (例は 2x3 テーブル用です。codepen を参照してください)。

ul{
  list-style:none;
}

ul li{
  float:left;
  padding:10px;
  border-bottom:1px solid #000;
  border-right:1px solid #000;
}

ul li:nth-child(3n){
  background-color:#888;
}

ul li:nth-child(3n+1){
  clear:both;
  border-left:1px solid #000;
  background-color:#ccc;
}

ul li:nth-child(-n+3){
  border-top:1px solid #000;
}

それが役に立てば幸い。

于 2014-08-11T10:27:32.080 に答える
2

display: tableテーブル行として機能する要素が必要なため、プロパティを介して1つのリスト(2つ以上のアイテムを含む)を2つの列に変換することはできません。テーブル行として機能する要素がない場合、に設定されているすべての隣接する要素はdisplay: table-cell、いかなる方法でも変更またはスタイル設定できない匿名のテーブル行要素内に含まれます。

唯一のオプションは、マークアップを変更するか(テーブルまたはリストのリストを使用するため)、CSSに対して別のアプローチを使用することです。sでfloat / inline-blockをli使用するか、でcolumnsプロパティを使用しますul

于 2012-12-11T17:29:51.927 に答える