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

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

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

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

CSS

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

Q&A

解決済

2回答

5411閲覧

DIVの一部分だけ非表示にする方法

tkanda

総合スコア2425

HTML

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

CSS

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

0グッド

0クリップ

投稿2016/04/02 10:09

編集2016/04/02 10:30

###前提・実現したいこと
DIVのテキストの一部分だけを非表示にしたいのですが、CSSでの指定方法が判りません。ご存知の方がいらっしゃれば、教えていただけないでしょうか。
具体的には、下記のように宣言されているDIVがあり、この子要素と値のうち、 "ccc" の部分だけを非表示にしたいのです。

###ソースコード

HTML

1<div class="line-item"> 2 <span class="line-item--heading">aaa</span> 3 <span class="line-item--description">bbb</span> 4 ccc 5</div>

###これまでの経緯
DIVのinnerHTMLをJavaScriptの正規表現で解析し、力技でDOMを改造する方法を検討していますが、処理コストが結構大きくなりそうなので、この方向で進めるべきか悩んでいます。
このため、これよりもコストを抑えられそうな、別の方法を探しています。

###補足情報

  • このDIVと子要素のセットは、1ページ内に最大で100個存在します。
  • "ccc" の部分は半角英数とかなが混在する日本語の文章で、最大300文字あります。
  • 「非表示」の意味は「display:none」でも「visibility:hidden」でも構いません。とにかく画面に表示されなければOKです。
  • HTML部分は他社が開発したアプリから出力されておりブラックボックスです。このため、DIVと子要素の宣言を書き換えることはできない、という前提でお願いします。
  • できるのは、CSSを適用するか、あるいはスクリプト処理(jQuery 1.11.3 が使用可能)によって、ビジュアルを動的に変更することだけです。
  • スクリプト処理はNGではありませんが、もしCSSだけで定義できるのであればそのほうが望ましいです。

よろしくお願います。

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

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

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

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

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

kei344

2016/04/02 10:12

.line-item--descriptionの最後の「"」が抜けています。
kei344

2016/04/02 10:13

すいません、見間違いだったようです。
guest

回答2

0

ベストアンサー

.line-item { font-size: 0; } .line-item * { font-size: 12px; }

あんまりと言えばあんまりですが、
こんな対応はどうでしょう?

投稿2016/04/02 10:49

miyabi-sun

総合スコア21158

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

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

tkanda

2016/04/02 10:59

おお、確かに希望通りの表示になりますね! font-size: 0 という指定は、これまで考え着きませんでした。とても、参考になります。
tkanda

2016/04/02 22:33

今回、こちらの回答をヒントに進めさせていただくことになりました。ありがとうございました。
guest

0

CSSはあとに書いたものが優先されますので、以下でどうでしょうか。

stylesheet

1.line-item { 2 visibility: hidden; 3} 4 5.line-item--heading, .line-item--description { 6 visibility: visible; 7}

cccの部分を表すタグ付がされていないので、その部分を直接指定することはできないと思います。

投稿2016/04/02 15:33

編集2016/04/02 15:35
nasa9084

総合スコア42

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

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

tkanda

2016/04/02 22:32

なるほど、これもシンプルな解決策になりますね。それと "ccc" 部分だけを指定するセレクタ表記は、やはり無いんですね。参考になりました。 今回は、miyabi-sunさんの回答をヒントにして進めさせていただくことになりましたので、そちらをベストアンサーにさせていただきました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問