クロスワードジェネレータを実装しています。それは、行ワードあたりと文字あたりのセルとのクロスワードを生成し、そのキーワードが画像のように、より広い境界線と灰色の背景が付いている: 異なる罫線の幅で偶数のテーブルの境界線を描画する方法は?
はこれを達成するために、私の生成されたコードは、次のおおよそです:
#crossword {
border-spacing: 0px;
border-collapse:collapse;
}
.word {
vertical-align: middle;
align-items: center;
text-align: center;
justify-content: center;
margin: 0;
padding: 0;
}
.cell {
width: 30px;
height: 30px;
margin: 0;
padding: 0;
}
.letter {
border: 1px solid black;
}
.keyword {
border-width: 2px;
background-color: gray;
}
<table id="crossword">
<tr class="word">
<td class="cell letter">W</td>
<td class="cell letter keyword">C</td>
<td class="cell letter">A</td>
</tr>
</table>
私の問題は、画像の赤の楕円でマークされた - キーワードの境界線は、残りの部分よりも1ピクセル幅の広いもの、クロスワードのトップとボトムラインを破ります。 border-collapse
プロパティを削除しようとしましたが、その結果、各行接続に二重の罫線が表示されていました。
現在、私は世代のためにtable
、tr
とtd
を使用していますが、div
Sを使用したソリューションがある場合、私は、スイッチさせていただきます。
私の質問は、個々のセル(固有のクラスを追加するなど)に一意に対応できると仮定して、トップセルとボトムセルをキーワードセルの内側に表示する方法?
私はbox-shadow
を使って1つの解決策を見つけましたが、実際にはクロスブラウザではなく、多くの魔法が必要なので、可能ならば避けてください。
何小さく 'BORDER-、[トップ|下]について - エッジのセルの「幅」ですか? – casraf
box-shadow(inset 0 0 0 1px)は境界線を太くしても問題ありません。古いブラウザでは何も壊れません。そうでなければ#000と#333のような2つの異なる黒を使用するかもしれません:)(人生は妥協で満たされています)これは答えとスニペットに変えるために怠け者です。 ) –
@casrafこれはもちろん、行を偶数にしますが、避けたい幅パターンの目立った変更でもあります。 –