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

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

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

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

CSS

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

Q&A

解決済

4回答

1618閲覧

疑似要素beforeと同じ効果を別のタグなどに持たせることって可能でしょうか?

pikachuchuchu

総合スコア16

HTML

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

CSS

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

2グッド

2クリップ

投稿2015/12/15 06:12

初めて質問させて頂いています。
ただ今とあるサイトのリニューアルをお手伝いさせて頂いており、そこで発生した問題についてお答えいただければと思っております。
今回h1タグをリニューアルするとともに、今まで画像だったものをCSSで再度作ることになりました。
今回先方に頂いた指令が

・IE7~対応できるようにする
・以下のようにはできるだけしない(wordpressで作成しておりますので、すでにh1を使用した記事が多数あり、これから新たに別のタグを付け直すことが困難な為)

<h1>あいうえおかきくけこ</h1> ↓ <h1><span>あいうえおかきくけこ</span></h1>

・タイトルが二行以上になることもあるので、行数に対し常に変動できるよう高さはautoにする

そもそもIE7対応ですと疑似要素も使えないためどうしたらよいかわかりません…。
何かいい対策がございましたら、ご教授願えませんでしょうか。
どうぞよろしくお願い致します。

イメージ説明

h1タグの文章の前には(恐らくborder-leftでできるような)棒線がありこちらも行数によって変わるようにしたいです。

dsk, ikuwow👍を押しています

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

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

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

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

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

guest

回答4

0

ベストアンサー

▼IE7でも擬似要素
IE9.js

▼高さ可変の見出し冒頭にライン
画像を使わずCSSだけで実現。使用頻度が高い見出しデザイン。
※その1のデザインを応用すればできると思います。

上記の見出し冒頭ラインはcalc()を使っていますので、
calc()非対応のブラウザでも高さを取得する必要があります。
試していませんが、こちらの記事を参考に、jQueryで動的にスタイルを指定するなどすればもしかしたらうまくいくかもしれません。

投稿2015/12/15 10:03

aKusano

総合スコア3763

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

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

pikachuchuchu

2015/12/16 03:32

お返事ありがとうございます。 IE9.jsというJavaScriptの存在は知りませんでした! ご教授誠にありがとうございます! 早速試してみます!
guest

0

要素内のtextをタグで囲むjQuery - CodePen
書いて見ました。

質問者さまのやりたかったのは

html

1<h1>テキストテキストテキスト</h1>

をどうにかして

html

1<h1><span>テキストテキストテキスト</span></h1>

にした上でspanにborder-leftを持たせることだと思うのですが、
spanの場合自動で改行された時にborderの高さが連動しないためdiv要素で囲ってみました。

投稿2015/12/16 05:26

maru0014

総合スコア151

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

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

pikachuchuchu

2015/12/18 08:08

お返事ありがとうございます!遅くなってしまい誠に申し訳ございません。 大変恐縮なのですが今回<span>が利用不可なため上記のようにコードを書くことができません…。<span>が使えれば是非行ってみたいのですが…! お忙しい中お手数をおかけしてしまい誠に申し訳ございません! 本当にありがとうございました!
guest

0

↓これがそもそも ::before::after では出来ないことなので、何を実現できなくてお困りかよくわかりません。

html

1<h1>あいうえおかきくけこ</h1> 23<h1><span>あいうえおかきくけこ</span></h1>

(↓::before::afterで出来るのはこれに近いです。要素内の最初か最後に要素を追加します。)

html

1<h1> 2 <span>::before 要素</span> 3 あいうえおかきくけこ 4 <span>::after 要素</span> 5</h1>

添付の図だけ見る限りは margin, padding, border を使えばできますが、
::before::afterが使えないと何ができないのでしょうか。

追記

CSS に拘るより JavaScript のほうが結局シンプルである例は多いです。
jQuery 依存ですがこんなのはどうでしょうか。

javascript

1$("h1").prepend($("<span/>", {CLASS: "h1-inner-border"}));

結果

html

1<h1> 2 <span class="h1-inner-border"></span> 3 あいうえおかきくけこ 4</h1>

あとはスタイルシートなりでどうにでも。

投稿2015/12/15 11:23

編集2015/12/16 04:18
tozjp

総合スコア790

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

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

tozjp

2015/12/15 11:26

あ、失礼しました。 外側の枠が認識外でした。枠あり+中に太い線ということで擬似要素を使いたいということでしたか?
pikachuchuchu

2015/12/16 00:36

お返事ありがとうございます! 枠あり+中に太い線という仕様なので今回疑似要素を使いたかったのです。しかも今回はhタグしか使えないので、疑似要素以外で中の太い線を制作する方法がわからずご質問させて頂いた次第でございます。
tozjp

2015/12/16 04:18

わかりました。追記をご参照ください。
pikachuchuchu

2015/12/21 01:02

ご連絡遅くなってしまい申し訳ございません。 すごくわかりやすい書き方で教えてくださり、大変うれしく思います。しかし、今回<span>が使用不可なためご回答いただいた方法でできずすごく歯がゆく思います。 やはり<span>で囲まなければ難しそうですよね…。 本当にご回答くださりありがとうございました!
guest

0

そもそもの解決に繋がるかは試していないのでわかりませんが、jQueryのプラグインを使うのはどうでしょうか。

jQuery Pseudo Plugin

また、こちらのサイトが参考になるかと思います。

IE7でCSSの疑似要素「:after」「:before」を使う

投稿2015/12/15 06:35

Enta

総合スコア91

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

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

pikachuchuchu

2015/12/15 06:55

お返事ありがとうございます!この質問をした者です。 こちらのプラグインは一度試したのですが、うまくいきませんでした… 私の認識が間違っている可能性は大なのですがこちらのjQueryは疑似要素のbeforeに付随するcontent("");の中のものを強制的にIE7で閲覧可能にしてくれるものだと思っております。 今回content("");の中には何も入っておりませんので、動かなかったのだと思います… 違っていたらすみません>< ご連絡大変感謝しております!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問