-
1:ID:JyRhIo · 2020-02-13

テーブルタグに直接borderやcellpaddingを記述しているのですが、これをHTMLを変更せずにCSSで置き換える方法はないでしょうか?

元HTMLは
<table width="300" border="1" cellpadding="5" cellspacing="5">
<tr>
<th>見出し</th>
<td>内容</td>
</tr>
</table>

のようになっています。すべてのHTMLを書き換えてclassを割り当てれば変更可能ですが、大量になるため、一括で変更できる方法を探しています。

6 件の回答

2:ID:Fs/kAK · 2020-02-13

検索・置換しかないわ

3:ID:ZNZmnQ · 2020-02-13

border-spacing,border-collapseとかをCSSで!importantつければ上書き出来るよ。
でも、一括で置換できるよう正規表現でもちょろっと覚えたほうがいいよ
正規表現なくても何回か置換すればいいし

4:ID:qG.3td · 2020-02-13

腹を決めて置換しよう!(意味深

5:ID:xIKma/ · 2020-02-16

htmlの直書きより、cssの方が詳細度が高いため、「class」や「important」などを割り当てなくても、普通に書けばよろしいかと。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
table{
width: 300px;
margin-bottom: 10px;
border:1px solid black;
border-collapse:separate;
border-spacing:5px;
}
th,td{
border:1px solid black;
}
</style>
</head>
<body>
<table width="300" border="1" cellpadding="5" cellspacing="5">
<tr>
<th>見出し</th><td>内容</td>
</tr>
</table>
<table>
<tr>
<th>見出し</th><td>内容</td>
</tr>
</table>
</body>
</html>

6:ID:OkPVgO · 2020-02-17

結果はCSSで上書きできたとして、残ったhtmlのゴミの部分はどう処理するつもり?
どんどんメンテナンス性おとしていくだけだよねってのが大方の見方じゃないの

7:ID: · 2020-02-17

諦めて書き換えます。みなさんありがとうございました

コメントの受付は終了しました。

一緒に読まれている質問

ページ上部に戻る