您好,登錄后才能下訂單哦!
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>
瀏覽器上顯示效果如下
當鼠標點擊“按鈕名稱”,會在瀏覽器上出現以下效果
從顯示效果中看,上述代碼似乎并不能夠完美的解決提出的問題,接下來我們就來看看具體的解決方法
如果它受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如何實現點擊按鈕展開菜單問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。