ホームページ  >  記事  >  ウェブフロントエンド  >  HTMLクリックボタンでメニューを展開する実装

HTMLクリックボタンでメニューを展開する実装

不言
不言オリジナル
2018-11-28 16:14:2712370ブラウズ

今回は、HTML内でクリックしたときに拡張要素のメニューを作成する方法を紹介します。以下、具体的な内容を見ていきましょう。

HTMLクリックボタンでメニューを展開する実装

まず問題を見てみましょう

「ボタン名」は黒い枠線で囲まれており、クリックすると、テキストが表示されます。下部の境界線は変更されません。

クリックすると枠線を拡大して「ボタン名」を含む文全体が含まれるようにしたいです。

しかし、表示する文字を囲む枠線の大きさをぴったり囲って、その際に大きさが変わるようにしたい場合はどのように書けばよいのでしょうか?

コードを見てみましょう

CSSコード

.hidden_box{
  display:inline-block;
  margin:0;
  padding:0;
}
.hidden_box label{
  padding: 15px;
  font-weight: bold;
  border: solid 2px black;
  cursor :pointer;
}
.hidden_box label:hover{background: #efefef;}
.hidden_box input{display: none;}
.hidden_box .hidden_show{
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}
  .hidden_box input:checked ~ .hidden_show{
  padding: 10px 0;
  height: auto;
  opacity: 1;
}

HTMLコード

<div class="hidden_box">
  <label for="label1">按钮名称</label>
  <input type="checkbox" id="label1"/>
  <div class="hidden_show">
    文章文章文章文章。文章文章文章文章。文章文章文章文章。
    文章文章文章文章。文章文章文章文章。
  </div>
</div>

ブラウザ上での表示効果は以下の通りです。

HTMLクリックボタンでメニューを展開する実装

「ボタン名」をマウスでクリックすると、ブラウザ上に次のような効果が表示されます

HTMLクリックボタンでメニューを展開する実装

From表示効果、上記の問題を完全に解決できるコードではないようです。 次に、具体的な解決策を見てみましょう。

CSS で制限される場合、大まかな方法​​になります。しかし、すべてをラベルに入れる方法があります。

まず、display: block を追加して、内側のブロック要素を含めましょう。

.hidden_box label{
  padding: 15px;
  font-weight: bold;
  border: solid 2px black;
  cursor :pointer;
  display: block;
}

次に、クリック前の状態が適切な幅を保つようにhidden_​​showクラスのwidthをwidthに設定します

.hidden_box .hidden_show{
  height: 0;
  width: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}

.hidden_box input:checked ~ .hidden_show{
  padding: 10px 0;
  height: auto;
  width: auto;
  opacity: 1;
}

その後、HTMLコードを見てみましょう

<div class="hidden_box">
  <label for="label1">
    按钮名称
    <input type="checkbox" id="label1"/>
    <div class="hidden_show">
      文章文章文章文章。文章文章文章文章。文章文章文章文章。
      文章文章文章文章。文章文章文章文章。
    </div>
  </label>
</div>

ブラウザ上の表示効果は次のとおりです。

HTMLクリックボタンでメニューを展開する実装

「ボタン名」の後ろにある選択ボックスをクリックすると、表示効果が変わります。ブラウザ上では次のようになります:

HTMLクリックボタンでメニューを展開する実装

以上がHTMLクリックボタンでメニューを展開する実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。