2016-08-18 18 views
3

純粋なHTMLとCSSでチェス盤を終えました。しかし、私はデザイナーではないので、簡単なことをする方法を理解することはできません。私はボードの周りにフレームを作ろうとしています。私はtable.chessboard要素(以下のコード)に余白を作るためにCSS境界プロパティを使用しています。しかし、そのマージンはボード内で拡大し、ボーダーで四角形を減少させます。純粋なhtmlとcssのフレームでチェス盤を描く

これを解決するにはどうすればよいですか?

HTML:

<table class="chessboard"> 
<tr class="chessboard"> 
    <td class="chessboard"></td> 
    <!-- line above 8 times --> 
</tr> 
<tr class="chessboard"> 
    <td class="chessboard"></td> 
    <!-- line above 8 times --> 
</tr> 
<tr class="chessboard"> 
    <td class="chessboard"></td> 
    <!-- line above 8 times --> 
</tr> 
<tr class="chessboard"> 
    <td class="chessboard"></td> 
    <!-- line above 8 times --> 
</tr> 
<tr class="chessboard"> 
    <td class="chessboard"></td> 
    <!-- line above 8 times --> 
</tr> 
<tr class="chessboard"> 
    <td class="chessboard"></td> 
    <!-- line above 8 times --> 
</tr> 
<tr class="chessboard"> 
    <td class="chessboard"></td> 
    <!-- line above 8 times --> 
</tr> 
<tr class="chessboard"> 
    <td class="chessboard"></td> 
    <!-- line above 8 times --> 
</tr> 
</table> 

CSS:あなたのCSSの

table.chessboard { 
    margin: 80px auto; 
    background: #999; 
    border: 25px solid #333; 
} 
td.chessboard { 
    width: 70px; height: 70px; 
} 
tr.chessboard:nth-child(odd) td.chessboard:nth-child(even), 
tr.chessboard:nth-child(even) td.chessboard:nth-child(odd) { 
    background: white; 
} 
+0

あなただけの正方形の周りにアウトラインをしたいですか? – HolyMoly

+0

はい、@ HolyMolyです。 – Caco

+0

誰かが私にそれを打つように見えるが、以下の答えがある、それはちょうど 'border'プロパティーだ – HolyMoly

答えて

0

table.chessboard { 
    border: 2px solid #000; 
} 

は、必要に応じて幅を調整;)

+0

ありがとう@HolyMoly、しかし、私は大きな問題(約25pxで)が問題を残すので。 25pxを 'board'クラスに置くと、次にボードの境界が小さくなります。 – Caco

+0

私はあなたが掲示したコードで私のbroswerでそれを見ていて、それは細胞が縮小しているようには見えません。あなたはあなたが見ているもののスクリーンショットをすることができますか?投稿していないページに他の要素やCSSがない限り、これは予想通りレンダリングされているようです。 – HolyMoly

+1

はい、すべてのコードはここにあります。私は変更を加えました。 'border-collapse:separate;'を 'table.chessboard'クラスに追加すると、問題は解決されます。 – Caco

4

私はあなたがしたいと仮定すべての細胞の周りの境界。

table.chessboard { 
 
    margin: 80px auto; 
 
    background: #999; 
 
    border: 25px solid #333; 
 
    border-collapse: collapse; /* */ 
 
} 
 
td.chessboard { 
 
    width: 70px; height: 70px; 
 
    border: 2px solid #333; /* */ 
 
} 
 
tr.chessboard:nth-child(odd) td.chessboard:nth-child(even), 
 
tr.chessboard:nth-child(even) td.chessboard:nth-child(odd) { 
 
    background: white; 
 
}
<table class="chessboard"> 
 
<tr class="chessboard"> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
</tr> 
 
<tr class="chessboard"> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
</tr> 
 
<tr class="chessboard"> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
</tr> 
 
<tr class="chessboard"> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
</tr> 
 
<tr class="chessboard"> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
</tr> 
 
<tr class="chessboard"> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
</tr> 
 
<tr class="chessboard"> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
</tr> 
 
<tr class="chessboard"> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
    <td class="chessboard"></td> 
 
</tr> 
 
</table>

+0

申し訳ありませんが、実際にボーダーはチェス盤の周りにあり、セルの周りにはありません。私は編集中です。 – Caco

+0

もし私が間違っていないなら、私はテーブルでは境界が幅の一部だと思う。境界が大きければ大きいほど、細胞は小さくなります。 – pol

関連する問題