css3怎么选中前一个元素

div显示文件名,x是i标签,现在是鼠标在i上边的时候,我需要修改div的背景色,但是没有办法选中前一个元素,
或是能选中父级div里的第一个子元素div吗

图片描述

图片描述

阅读 14.2k
6 个回答

css没有办法获取前一个元素 不过可以获取后面的元素

/*紧邻*/
i+.ant-upload-list-item-info{}
/*所有*/
i~.ant-upload-list-item-info{}

不可以,CSS 是单向的。

但是这里你可以考虑把两个元素放在一起,这样就方便你写 CSS 了。

css没想出来怎么搞,你看能不能尝试一下jQuery呢?

<script>
    $('.anticon-across').hover(function(){
        $(this).parent().find('.ant-upload-list-item-info').css('background','red')
    },function(){
        $(this).parent().find('.ant-upload-list-item-info').css('background','transparent')
    })
</script>

是左右浮动结构吗?
如果是,那你把你红线圈起来的div和i调换一下位置,然后使用

.action:hover + .ant-upload-list-item-info {
    background: skyblue;
}

目前还不可以, 调一下位置或用js控制

把div标签写到i标签的后面就行了
如果要求不改变html的话,做不到

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题