如何設定單選按鈕選中標籤的樣式?


在這篇文章中,我們將為當前選中的單選按鈕設定標籤樣式。CSS 還允許您消除預設的單選按鈕,並設定標籤的選中和未選中狀態的樣式。這將藉助 :checked偽類來實現。此外,還將使用相鄰兄弟選擇器來實現此效果。

設定單選按鈕選中標籤的樣式

首先,我們將原始圓形單選按鈕的display 屬性設定為 none,使其從檢視中消失。接下來,我們將為未選中狀態的標籤元素應用預設樣式。我們將標籤的 display 屬性設定為inline-block,並應用其他樣式,如背景內邊距字型游標

現在,使用:checked 偽類以及相鄰兄弟選擇器 (+)。此選擇器特別有助於確保樣式僅應用於選中單選輸入後的標籤。

示例程式碼

在程式碼示例中,您可以看到我們稍微調整了樣式,使單選按鈕更具吸引力。您可以嘗試自己的樣式使其更具吸引力。

<!DOCTYPE html>
<html>
<head>
    <title>Styled Radio Button Labels</title>
    <style>
        body,
        html {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100vh;
            margin: 0;
            background-color: #f5f5f5;
            font-family: Arial, sans-serif;
        }

        .radio-container {
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

        .radio-container input[type="radio"] {
            opacity: 0;
            width: 0;
            position: fixed;
        }

        .radio-container label {
            display: inline-block;
            background-color: #e0e0e0;
            padding: 8px 16px;
            font-size: 16px;
            cursor: pointer;
            margin-right: 8px;
            border-radius: 4px;
            transition: all 0.3s ease;
        }

        .radio-container input[type="radio"]:checked + label {
            background-color: #4caf50;
            color: #fff;
            box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3);
        }

        .radio-container label:hover {
            background-color: #dcdcdc;
            transform: translateY(-1px);
        }

        .radio-container input[type="radio"]:focus + label {
            outline: 2px solid #4caf50;
            outline-offset: 2px;
        }

        /* Adding responsive design */
        @media (max-width: 480px) {
            .radio-container {
                display: flex;
                flex-direction: column;
                gap: 10px;
            }

            .radio-container label {
                margin-right: 0;
                text-align: center;
            }
        }
    </style>
</head>
<body>
    <div class="radio-container"> 
        <input type="radio" id="option1" name="options" checked> 
        <label for="option1">Full Stack</label> 
        <input type="radio" id="option2" name="options"> 
        <label for="option2">Front-End</label> 
        <input type="radio" id="option3" name="options"> 
        <label for="option3">Back-End</label> 
    </div>
</body>
</html>

輸出


更新於:2024年11月12日

26 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告