首頁 >web前端 >html教學 >HTML點選按鈕展開選單的方法實現

HTML點選按鈕展開選單的方法實現

不言
不言原創
2018-11-28 16:14:2712456瀏覽

這篇文章我們來介紹一下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點選按鈕展開選單的方法實現

從顯示效果看,上述程式碼似乎無法完美的解決所提出的問題,接下來我們就來看看具體的解決方法

如果它受CSS的限制,它將是一個比較粗略的方法,但有一種方法可以將它全部放在label中。

首先,我們來加入display: block,以便包含內部區塊元素。

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

接下來,將hidden_​​show類別的寬度設為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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn