前提・実現したいこと
table要素の中の背景色を一部分だけ画面幅いっぱいに広げたいと思っています。
試したこと
th、td要素にcalcを記述して幅いっぱいに広げようとしましたがうまくいきませんでした。
table要素ではmarginがきかないと出てしまったのでcalcが使用できないようで困っています。
なにか別の方法はありますか?
該当のソースコード
HTML
1<table> 2 3<tr> 4<th class="bg">タイトル1</th> 5<td class="bg">本文1</td> 6</tr> 7<tr> 8<th>タイトル2</th> 9<td>本文2</td> 10</tr> 11<tr> 12<th class="bg">タイトル2</th> 13<td class="bg">本文2</td> 14</tr> 15 16</table>
css
1table { 2 position:relative; 3 width: 100%; 4 max-width: 1000px; 5 border-collapse: collapse; 6 margin: 0 auto; 7} 8 9table th.bg, 10table td.bg { 11 width: 100vw; 12 margin: 0 calc(50% - 50vw); 13 background: #ececec; 14}
追記
>table要素ではmarginがきかないと出てしまったので
出典明示してください。
firefoxの開発ツールでcssを確認するとmargin: 0 calc(50% - 50vw);部分がグレーアウトになっており「marginはテーブルを構成する要素に影響を及ぼしません」と書かれています。
画面キャプチャで良いので質問本文に提示いただけますか?
質問は編集できます。
max-width指定をやめて全幅テーブルにしてはいけないのでしょうか?
テーブルじゃないところをテーブルのように見せる必要性はなんでしょう?
追記で画面キャプチャをしました。
>max-width指定をやめて全幅テーブルにしてはいけないのでしょうか?
デザイン的に背景色を画面いっぱいに広げたいだけで、テーブルの中身(テキストが書いてある箇所)まで広げたいわけではないのでその方法ではうまくいきませんでした。
回答1件
あなたの回答
tips
プレビュー
