,我們需要一個包含搜索框和搜索圖標的div元素。使用CSS的border-radius屬性可以給div元素添加圓角邊框。例如,我們可以設置一個5像素的圓角:
<style> .search-box { border-radius: 5px; border: 1px solid #ccc; overflow: hidden; display: inline-block; height: 30px; } </style> <div class="search-box"> <input type="text" placeholder="搜索..."> <button><i class="fa fa-search"></i></button> </div>
上述代碼中,我們定義了一個名為search-box的CSS類,其中border-radius屬性設置為5px,這樣搜索框就會有圓角邊框。border屬性用于設置邊框的樣式,這里我們設置為1px實線灰色邊框。overflow:hidden的屬性用于隱藏文本框的任何溢出內容。display:inline-block屬性使搜索框水平排列。height:30px屬性用于設置搜索框的高度。
在div元素內部,我們使用了一個input元素來顯示輸入框,并使用了placeholder屬性設置輸入框中的默認文本。同時添加了一個button元素作為搜索按鈕,里面包含了一個適用于搜索圖標的字體圖標類fa fa-search。
除了基本的樣式,我們還可以通過CSS給搜索框添加動畫效果。例如,我們可以在用戶將鼠標懸停在搜索框上時使其漸變顯示。以下是一個使用CSS動畫效果的例子:
<style> .search-box { /*之前的樣式代碼*/ } .search-box:hover { background-color: #f0f0f0; transition: background-color 0.3s ease-in-out; } </style>
上述代碼中,我們在.search-box:hover規則中設置了鼠標懸停時搜索框的背景顏色為#f0f0f0,并通過transition屬性設置了背景顏色的變化效果。transition屬性包括了要進行動畫的屬性和動畫的持續時間、過渡曲線。
除了CSS動畫效果,我們還可以使用JavaScript來實現搜索框的一些功能,如實時搜索、自動補全等。以下是一個使用jQuery庫來實現實時搜索的例子:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { $('.search-box input').keyup(function() { var searchText = $(this).val().toLowerCase(); $('.search-box input').each(function() { if ($(this).val().toLowerCase().includes(searchText)) { $(this).show(); } else { $(this).hide(); } }); }); }); </script>
上述代碼中,我們引入了jQuery庫,然后使用$(document).ready()方法來確保頁面加載完畢后再執行后續代碼。通過選擇器$('.search-box input')選中了搜索框中的input元素,并使用keyup事件監聽輸入框的按鍵事件。每當輸入框的內容發生變化時,我們獲取輸入框的值并將其轉換為小寫。然后使用.each()方法遍歷輸入框,并根據輸入框的值與當前遍歷到的輸入框的值進行比較。如果兩個值匹配,我們將顯示當前輸入框,否則隱藏當前輸入框。
綜上所述,我們可以使用CSS和JavaScript來創建一個簡單的div圓角搜索框,并添加樣式、動畫效果以及實現一些功能。通過不斷優化和拓展,我們可以根據需求以及參考其他真實案例來定制更加個性化的搜索框。