質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

4回答

2463閲覧

CSSで正規表現を使いたい

teityura

総合スコア84

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2018/12/05 13:44

WordPressの追加CSSに下記のような

<h1>~<h6>タグを同じブロックで定義したいです。 pattern3-Q のような指定方法はありますでしょうか。

CSS

1/* pattern1-Q */ 2h[1-6] { 3 font-size: 28px; 4} 5 6/* pattern1-A */ 7h1, h2, h3, h4, h5, h6 { 8 font-size: 28px; 9} 10 11/* pattern2-Q */ 12.single-post-wrap > h[1-6]:nth-child(1) { 13 font-size: 28px; 14} 15 16/* pattern2-R */ 17.single-post-wrap > h1, h2, h3, h4 h5, h6:nth-child(1) { 18 font-size: 28px; 19} 20 21/* pattern3-Q */ 22.single-post-wrap > h[1-6]:nth-child(\d+) { 23 font-size: 28px; 24}

①pettern1-Qのように記述する方法はないのでしょうか。
ただの<h1><h6>なら
pattern1-Aのように記述すれば手間ではないのですが、

②pattern2-Q ように.single-post-wrap の<h1>なら
どうすればいいでしょう(pattern2-Rはダメでした)。

③一番困っているのはpattern3-Q のパターンで
wordpressが勝手に(?)作る数字がchild()の引数(?)になる時です。
このようなときは、どう指定するのが好ましいですか。

④よろしければ、なんとググれば出てきたかも教えていただけませんでしょうか。

CSS 正規表現 でググると、下記のようなものが出てきましたが、
私のしたいような指定方法は見つかりませんでした。
行頭にマッチ: p[class^="under"] {
行末にマッチ: p[class*="through"] {
部分一致:   p[class$="bold"] {

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

いま規格化が進行中のセレクタとして:is()というものがあります。SCSSなしでも、:is(h1, h2, h3, h4, h5, h6)とすれば「h1~h6のどれか」という指定ができて、.single-post-wrap > :is(h1, h2, h3, h4, h5, h6):nth-child(1)のように他のセレクタに混ぜ込んでも使えます(MDN)。

ただし、IEは非対応な他、Firefoxは:-moz-anyと書かないといけないなど、(モバイルでWebKit系に決め打ちできる状況でなければ)実用はしづらいです。

投稿2018/12/06 00:56

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teityura

2018/12/08 04:54

回答ありがとうございます! :is()というセレクタがあるんですね。 WordPressのテーマによって勝手に生成する :nth-child(X)のX部分が、 01~99の範囲でランダムに入っているとすれば、 JavaScript等でループして適用する他ないでしょうか。 可能なら追加CSSのみで、上書き適用したくて悩んでます。
guest

0

CSSにおいて[]は属性を拾うものですから文法として整合性があわないですね
単純にclassをあたえてあげるとか、カスタムdataで処理するとかが賢明です

投稿2018/12/06 00:55

yambejp

総合スコア114843

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teityura

2018/12/08 04:55

回答ありがとうございます。 []は正規表現的な指定でもなく、属性を拾う手段でしかないのですね。
guest

0

細かいところまでできるか分かりませんがhXタグへの一括指定となるとSCSSでやることになると思います。

もっと細かくやろうとするとJavaScriptですかね。

投稿2018/12/05 20:10

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/12/05 20:41

SCSSコンパイルすると結局h1,h2…になりますけど、記述時の負荷は減る という程度ですね。
teityura

2018/12/08 04:56 編集

回答ありがとうございます。 SCSSというものがあったんですね。 細かい指定をするとJavascriptになるんですね。 覚えて損はなさそうなので、SCSS,Javascriptの勉強しなきゃです。
guest

0

:nth-child(X)のX部分が、

01~99の範囲でランダムに入っているとすれば、
JavaScript等でループして適用する他ないでしょうか。

構成によりますが。

CSS

1.single-post-wrap > h1:nth-child(n), 2.single-post-wrap > h2:nth-child(n), 3.single-post-wrap > h3:nth-child(n), 4.single-post-wrap > h4:nth-child(n), 5.single-post-wrap > h5:nth-child(n), 6.single-post-wrap > h6:nth-child(n) { 7 font-size: 28px; 8} 9 10/* 構造によっては */ 11.single-post-wrap > *:nth-child(n) { 12 font-size: 28px; 13} 14.single-post-wrap > div { 15 font-size: inherit; 16}

投稿2018/12/08 06:04

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問