我正在试着根据select个元素中的 Select 来设计我的盒子BG colored颜色 . 挑战是在这里使用:Has()伪类. 我现在已经判断了这行代码几次,它与选项中 Select 的内容不一致…… 我到底做错了什么?

Here is an image of what I'm working on

Html代码片段

<!DOCTYPE html>
<html lang="en">

<head>
    <link rel="stylesheet" href="testing.css">
</head>

<body>
    <div class="selections">
        <select name="" id="" class="options">
            <option value="green">Green colour</option>
            <option value="red">Red colour</option>
            <option value="blue">Blue colour</option>
            <option value="yellow">Yellow colour</option>
        </select>
    </div>

    <div class="parentBox">
        <div class="box">box</div>
    </div>
</body>

</html>

Css代码片段

.selections {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30vh;
}

.options {
    width: 30%;
    height: 30%;
}

.parentBox {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40vh;
}

.box {
    box-shadow: 8px 8px 32px;
    width: 50%;
    height: 50%;
}

.selections:has(select > option[value="green"])+.parentBox>.box{
    background-color: limegreen;
    box-shadow: -8px -8px 16px darkgreen;
}

.selections:has(select > option[value="red"])+.parentBox>.box{
    background-color: firebrick;
    box-shadow: -8px -8px 16px red;
}

科德芬: https://codepen.io/Rabbit0929/pen/ZEoKYQE

推荐答案

您需要添加:checked pseudo-class,以便该样式仅应用于所选选项:

.selections:has(select > option[value="green"]:checked) + .parentBox > .box {
    background-color: limegreen;
    box-shadow: -8px -8px 16px darkgreen;
}

https://codepen.io/jimmys20/pen/oNdWxrr

Html相关问答推荐

R中的动态Webscraping

当表头包含特殊字符时,R Quarto发布的HTML表中不必要的大列宽

如何将CSS滤镜仅应用于背景图像

不能以Angular 更改输入的S边框 colored颜色

HTML,CSS-阻止按钮在单击时向上移动

HTML 邮箱在 Gmail 中无法正确显示

为什么要添加换行符(至少在 Google Chrome 中)

如何保持块扩展以填充视口?

如何使用html css将图像显示为附加形状

白色栏超出页面100%的右侧

如何让一个 div 始终贴在容器的边缘?

CSS 跨度与子元素交替 colored颜色

为什么使用 Css 只能看到 1 列而不是 3 列?

是否可以为长 huxtable 固定头部?

如何清除html输入中的文本

为四开本网站主页添加背景图片

我用 ejs 修复了一个奇怪的语法错误,我想知道问题出在哪里

我如何使用 HTML 和 CSS 在我的下拉菜单中获得这种类型的样式

CSS:如何在模糊的背景上剪切文本?

将固定/绝对伪元素放置在相对 div(具有滚动条)内,始终位于底部