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

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

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

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

CSS

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

Q&A

解決済

2回答

4822閲覧

表示内容の切り替えを行いたい

退会済みユーザー

退会済みユーザー

総合スコア0

HTML

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

CSS

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

0グッド

0クリップ

投稿2018/08/10 01:48

編集2018/08/10 10:04

サイトの制作中で、aタグで表示内容を切り替えたいのですがどのように実装すればいいのかわからずつまずいています。

実装したいこと
<a href="#home2">をクリックした際<div id="home2">の中身だけ表示(<!--ここ1-->)
<a href="#home">をクリックした際<div id="home">の中身だけ表示(<!--ここ2-->)

HTML

1<!DOCTYPE html> 2<html lang="ja-JP"> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5<meta http-equiv="Content-Style-Type" content="text/css"> 6<meta http-equiv="Content-Script-Type" content="text/javascript"> 7<title>SAMPLE</title> 8</head> 9<body> 10<div id="home"><!--ここ2--> 11<img style="width: 70%;" src="picture/logo.png" alt="logo"><a href="#home2"><!--ここ1--><img style="width: 30%;" src="picture/logo2.png" alt="menu"></a> 12おもな表示内容です。 13</div> 14<div id="home2"><!--ここ1--> 15<img style="width: 70%;" src="picture/logo.png" alt="logo"><a href="#home"><!--ここ2--><img style="width: 30%;" src="picture/logo3.png" alt="menu"></a> 16サブの表示内容です。 17</div> 18</body> 19</html>

試したこと1

:targetを利用してみましたが両方とも表示されてしまいました。

HTML

1<!DOCTYPE html> 2<html lang="ja-JP"> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5<meta http-equiv="Content-Style-Type" content="text/css"> 6<meta http-equiv="Content-Script-Type" content="text/javascript"> 7<title>SAMPLE</title> 8<style> 9.001:target~#home, #home2:not(:target) { 10 display: none; 11} 12</style> 13</head> 14<body> 15<div id="home" class="001"> 16<img style="width: 70%;" src="picture/logo.png" alt="logo"><a href="#home2"><img style="width: 30%;" src="logo2.png" alt="menu"></a> 17おもな表示内容。 18</div> 19<div id="home2" class="001"> 20<a href="#home"><img style="width: 30%;" src="logo2.png" alt="menu"></a> 21サブの表示内容。 22</div> 23</body> 24</html>

まだまだ初心者で乱文ですがご回答のほどよろしくお願いします。

8/10追記

:targetを利用した主な目的としてハッシュ値が何もなかった場合、自動的に#homeの内容を表示したいという意図があります。

試したこと2

HTML

1<!DOCTYPE html> 2<html lang="ja-JP"> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5<meta http-equiv="Content-Style-Type" content="text/css"> 6<meta http-equiv="Content-Script-Type" content="text/javascript"> 7<title>SAMPLE</title> 8<style> 9.change:target~#home, #home2:not(:target) { 10 display: none; 11} 12</style> 13</head> 14<body> 15<div id="home" class="change"> 16<img style="width: 70%;" src="picture/logo.png" alt="logo"><a href="#home2"><img style="width: 30%;" src="logo2.png" alt="menu"></a> 17おもな表示内容。 18</div> 19<div id="home2" class="change"> 20<img style="width: 70%;" src="picture/logo.png" alt="logo"><a href="#home"><img style="width: 30%;" src="logo2.png" alt="menu"></a> 21サブの表示内容。 22</div> 23</body> 24</html>

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

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

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

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

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

guest

回答2

0

ベストアンサー

こちら
を参考にしてもう一度組み直したらできました。

投稿2018/08/11 03:43

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

数字で始めるとエスケープが必要になって面倒なことになります。
https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape

CSS

1.\30 01:target~#home

投稿2018/08/10 09:23

x_x

総合スコア13749

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

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

退会済みユーザー

退会済みユーザー

2018/08/11 03:24

数字じゃないclass名にしましたが改善されませんでした...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問