私は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を設定するなど.
さて、考えられる解決策の 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%;
}
本当に遅い回答ですが、これはよくある話題だと思います。これが私が作ったコードペンです。
明らかに、それは単なる出発点です。また、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;
}
それが役に立てば幸い。
display: table
テーブル行として機能する要素が必要なため、プロパティを介して1つのリスト(2つ以上のアイテムを含む)を2つの列に変換することはできません。テーブル行として機能する要素がない場合、に設定されているすべての隣接する要素はdisplay: table-cell
、いかなる方法でも変更またはスタイル設定できない匿名のテーブル行要素内に含まれます。
唯一のオプションは、マークアップを変更するか(テーブルまたはリストのリストを使用するため)、CSSに対して別のアプローチを使用することです。sでfloat / inline-blockをli
使用するか、でcolumns
プロパティを使用しますul
。