- ベストアンサー
thickboxのtitleキャプション改行したい
- Thickboxを使用して画像を表示する際、titleキャプションに改行を入れたい場合、ソースコードの問題が発生します。
- 改行を入れると、titleタグやカーソルオン時の注釈文にも表示されてしまいます。
- 解決法としては、JavaScriptを使用してtitleキャプションを表示する別の方法を検討するか、CSSを使用して改行を表現することがあります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>ソースとしては間違っておりますし、 いいえ、あなたの書かれたソースで、 ・インライン要素であるIMG(画像)要素が、ブロック要素内にないこと ・タグ内に<br>を書いてはならない ことを除けばあってます。その部分は修正しました。Validatorでチェックするとあっているはずです。 title属性の内容を表示するのは E:after{content:attr(attribute-name);}または、E:before{content:attr(attribute-name);}です。(Eはタイプセレクタ、attribute-nameは属性の名称です。 :hoverという動的な擬似クラスでマウスオンです。 :activeでクリックです。それと:focusを組み合わせると期待の動作になるでしょう。 生成された内容のdisplay,position,size,z-indexなどは、普通に指定してください。 ★生成内容、自動番号振り、リスト ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/generate.html ) (注)現行のCSS2.1で変更がいくつかあります。CSS2.1の邦訳は知りませんので、原文を確認してください。関連するプロパティは →12 Generated content, automatic numbering, and lists ( http://www.w3.org/TR/CSS2/generate.html ) →'white-space' ( http://www.w3.org/TR/CSS2/text.html#propdef-white-space ) です。 なお、改行コードは<br>ではなく、そのまま、または\Aで記述し、white-spaceで指定すること。改行と空白文字の扱いはCSS2.1では、ことなります。上記(white-space)を参照してください。 normal,pre,nowrap,pre-wrap,pre-lineの5種類になります。 javascriptで動作させる場合も、これらのスタイルシートを書き換えないと出来ません。いっそのこと、すべてCSSで行うほうが簡単な気がします。
その他の回答 (1)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
p{position:relative;} a.thickbox:hover:after{ content: attr(title);display:block;width:20em;position:absolute;top:10px;left:10px;white-space:pre-line;background-color:yellow;border:solid red 2px; padding:0.5ex 0.5em;} <p><a href="images/001.jpg" class="thickbox" title="拡大表示させる画像の説明 このコピーはだみーです。このコピーはだみーです。このコピーはだみーです。 このコピーはだみーです。このコピーはだみーです。このコピーはだみーです。"> <img src="images/thumb.jpg" alt="説明文" /></a></p>
お礼
回答ありがとうございます!表現したいのはサムネール画像をクリックすると、大きな画像が中央で表示されその画像下の部分に説明文と、「close」というボタンが表示された時にsono 説明文を改行したい、ということです。デザイン上では問題なく見えるのですが、ソースとしては間違っておりますし、サムネール画像にカーソルオンすると自動でtitleタグの内容がキャプションで浮かんでくる?のでその時に< /br>という表示が出るので、それをなんとかなくしたいのですが... うまく説明できなくて申し訳ないです。
お礼
いつも本当に親切にご回答ありがとうございます。 試してみたのですが、恐らく今回わたしが希望する見せ方とは少し違うのかな、という気がします。 わたしの説明の仕方が悪かったと思います、申し訳ありません。 http://okwave.jp/qa/q7268028.htmlのほうで詳しく画像付きで再度質問させていただきました。よろしければそちらのほうで今回の質問の意図を汲んでいただければ幸いです。それでもいつもご丁寧にご助言くださりありがとうございます。