前端透明分栏设计

news2024/11/24 17:29:41

在这里插入图片描述
目前在开发一个基于众包的打分网站,前端遇到的一个需求是:

  • 背景是电影的海报,且不能随着scroll-bar滚动,需要一个蒙版
  • 分为两栏,左侧是影视的媒体信息,不随页面滚动
  • 右侧是影视的基本信息和评分信息,要可以随着页面滚动

首先规划一个简单的页面框架

<div class="container">
  <div class="left-column">
    I'm the left column
  </div>
  <div class="right-column">
    <p>I'm the right column</p>
    <p>Lorem ipsum </p>
  </div>
</div>

增加css

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}

.container {
  display: flex;
  height: 100%;
}

.left-column {
  width: 50%;
  position: fixed;
  top: 0;
  bottom: 0;
  background-color: #ccc;
}

.right-column {
  width: 50%;
  height: 100%;
  overflow-y: scroll;
  background-color: #eee;
  margin-left: 50%; /* add this to push it to the right */

	/* add some padding */
  box-sizing: border-box;
  padding: 4rem;
}

代码定义了一个包含左右两个列的布局,其中左侧固定宽度为50%,右侧占据剩余宽度。下面是各个属性的解释:

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}

这部分代码将html和body元素的外边距和内边距设置为0,并将它们的高度设置为100%,以确保整个页面占据整个浏览器窗口。

.container {
  display: flex;
  height: 100%;
}

.container类被定义为一个flex容器,它将包含左右两个列。它的高度也被设置为100%,以确保它占据整个父元素(body)的高度。

.left-column {
  width: 50%;
  position: fixed;
  top: 0;
  bottom: 0;
  background-color: #ccc;
}

.left-column类定义了左侧固定宽度为50%的列。position属性被设置为fixed,意味着它将固定在浏览器窗口中,并且它的顶部和底部都被设置为0,以使它占据整个可见高度。

 .right-column {
  width: 50%;
  height: 100%;
  overflow-y: scroll;
  background-color: #eee;
  margin-left: 50%; /* add this to push it to the right */

  /* add some padding */
  box-sizing: border-box;
  padding: 4rem;
}

.right-column类定义了右侧占据剩余宽度的列。它的高度被设置为100%,以确保它占据整个父元素的高度。overflow-y属性设置为scroll,以在内容超出列高度时提供纵向滚动条。

margin-left属性设置为50%,以将右侧列推到左侧列的右侧。box-sizing属性设置为border-box,以确保padding不会增加元素的宽度。padding属性设置为4rem,为列内容添加内边距。

在这里插入图片描述

下一步去掉两个column的背景颜色,为container增加一个背景

.container {
  display: flex;
  height: 100%;
  background-image: url("https://m.media-amazon.com/images/M/MV5BMjAxMzY3NjcxNF5BMl5BanBnXkFtZTcwNTI5OTM0Mw@@._V1_Ratio0.6762_AL_.jpg"); 
  overflow: hidden;
}

用伪选择器增加一个蒙版

.container::after {
    z-index: 1;
    content: "";
    position: absolute;
    /* position: relative; */
    top: 0;
    right: 0;
    bottom: 0;
    /* height: 100%; */
    width: 100%;
    /* 设置伪元素宽度为div宽度的一半 */
    background: linear-gradient(269.83deg, #000000 0.42%, rgba(0, 0, 0, 0.767545) 70%, rgba(0, 0, 0, 0.418) 130%);
    background-attachment: fixed;
    backdrop-filter: blur(2px);
}

发现column的内容也模糊了,这是因为我们的蒙版目前高于column的内容。
在这里插入图片描述
设置一个z-index

.left-column {
  z-index: 2;
  width: 50%;
  position: fixed;
  top: 0;
  bottom: 0;
/*   background-color: #ccc; */
}

.right-column {
  z-index: 2;
  width: 50%;
  height: 100%;
  overflow-y: scroll;
/*   background-color: #eee; */
  margin-left: 50%; /* add this to push it to the right */
  box-sizing: border-box;
  padding: 4rem;
}

在这里插入图片描述

✅ 完成了预期的效果,后续可以根据内容进行开发


完整代码见

https://codepen.io/chene2000/pen/RwewKRd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/426190.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何使用基于GPT-4的Cursor编辑器提升开发效率

程序员最恨两件事情&#xff1a;一是别人代码不写文档&#xff0c;二是要让自己写文档。随着 GPT-4 的到来这些都不是问题了&#xff0c;顺带可能连程序员都解决了。。。 之前一直觉得 AI 生成的代码也就写个面试题的水平&#xff0c;小打小闹&#xff0c;现在时代可变了。Curs…

@Conditional四个较常用的派生注解总结

该内容是在学习SpringBoot底层的时候&#xff0c;看到SpringBoot的使用&#xff0c;所以这的做一个简单的总结方便以后复习。可能会有一些问题&#xff0c;还望指出共同学习 Conditional注解&#xff1a; 作用&#xff1a;按照一定的条件进行判断&#xff0c;在满足给定条件后…

如果采用密钥对的形式登录系统后,如何由普通用户切换到root用户

使用xshell工具 采用秘钥的方式进行登录 创建一个新用户并设置密码 切换到新用户之后 su root 想要切换成root用户的时候 输入密码提示 su:Authentication failure su&#xff1a;身份验证失败 使用秘钥之后是不能使用密码再进行登录 我去阿里云查了一下 有一个相同…

stable diffusion 安装xFormers 报错:Couldn‘t install open_clip.

一、No module ‘xformers’. Proceeding without it. 这是因为没有安装xformers导致的。 解决办法&#xff1a; 在webui-user.bat文件这添加一行&#xff1a; set COMMANDLINE_ARGS--xformers如下图所示&#xff1a; 试着点击webui-user.bat&#xff0c;看能否下载&#xff…

17:00面试,17:04就出来了 ,问的实在是太...

从外包出来&#xff0c;没想到算法死在另一家厂子 自从加入这家公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到8月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资直降30%&#xff0c;顿时有吃不起饭的赶脚。 好在有个兄弟内推…

你具备抽离与封装的思想吗?

笔者最近思考了自己参与的分布式系统业务的架构小细节&#xff0c;虽然笔者每天做的是实现部分需求与业务&#xff0c;但是笔者还是拥有很多时间去读底层源码的&#xff0c;加之笔者自身的思考与实践demo的总结&#xff0c;笔者将在本篇文章中提出笔者自己对“抽离”与“封装”…

Nginx编译安装及配置文件详解

写在前面 Centos版本&#xff1a;Centos 7.6 - 64bit Nginx版本&#xff1a;1.20.2 一、什么是Nginx Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器。 二、Nginx用在哪些地方 2.1 静态资源服务 动静…

mkv视频文件怎么转成mp4,这3个方法很好用

对于那些电脑不是很精通的小伙伴来说&#xff0c; mkv视频文件怎么转成mp4&#xff1f;小编先来介绍一下mkv视频格式&#xff0c;mkv是一种开放标准的自由的容器和文件格式&#xff0c;是一种多媒体封装格式&#xff0c;能够在一个文件中容纳无限数量的视频、音频、图片或字幕轨…

MVCC底层原理

目录说明MVCC的底层原理隐藏字段undo logRead View说明 在被面试官问面试题的时候&#xff0c;首先它问了Mysql的事务的隔离级别有几种&#xff1f;默认是哪种&#xff1f;他们分别解决了什么问题&#xff1f; 我在一顿回答“巴巴巴巴。。。。”之后&#xff0c;它又继续问题…

追踪项目进展常用的衡量方法

作为项目管理活动&#xff0c;项目中的进度跟踪可以帮助你了解项目实时的完成状态。有了正确的方法、项目管理工具和指标&#xff0c;项目跟踪可以指导你的团队的行动&#xff0c;甚至在问题出现之前向你发出预警。 项目经理使用各种方法、工具和指标来跟踪进度。其中最常见的…

自然语言处理(Natural Language Processing,NLP)简要

自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;简要一、发展状况二、发展优势三、发展瓶颈四、具体研究方向五、自然语言处理工具六、未来发展方向自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;是计算机…

(原创)Flutter基础入门:各种常用容器类组件

前言 上篇博客主要讲了Flutter的Shape实现 Flutter基础入门&#xff1a;实现各种Shape效果 今天主要讲下Flutter中常用的一些容器组件 Flutter中组件数量很多&#xff0c;分类方式也各有不同 比如可以分为有态组价和无态组件 又可以分为容器组件、功能组件等 拿功能组件来说 有…

docker网络详解,自定义docker网络

文章目录一、初识docker网络1、docker0虚拟网桥2、docker网络常用基本命令3、docker网络可以解决的问题二、docker网络模式1、四种网络模式2、容器实例内默认网络IP生产规则3、bridge模式4、host模式5、none模式6、container模式五、自定义网络模式1、过时的docker link2、使用…

【英语】大学英语CET考试,词汇语法导学方法论笔记(50h+)

文章目录1、谭剑波-词汇直播课1-2&#xff08;词汇学习3个关键&#xff09;1.1 看不懂句子的原因&#xff08;词汇的重要性&#xff09;1.2 记不住单词的原因&#xff08;死记硬背70%&#xff09;1.3 理解单词的本质&#xff08;词根词缀&#xff0c;26字母&#xff0c;联想辅助…

D3D11和D3D12共享资源

最近碰到个伪需求: 游戏串流。 游戏引擎用D3D12渲染&#xff0c; 再把游戏画面做视频编码&#xff0c; 通过网络发送到远端做解码显示。 第一反应就是走全GPU的流程&#xff0c; 不要用CPU把显存里的数据拷来拷去。 所以先获取渲染完的D3D12的frame buffer&#xff0c; 然后送给…

进程管理 - 银行家算法

文章目录1 概述2 银行家算法2.1 原理2.2 例题1 概述 #mermaid-svg-7QKAqjQpckpStO9Q {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7QKAqjQpckpStO9Q .error-icon{fill:#552222;}#mermaid-svg-7QKAqjQpckpStO9Q .e…

android framework-PackageManagerService(PKMS)包管理服务

一、概述 Android系统启动过程中&#xff0c;会启动一个包管理服务PackageManagerService(PKMS)&#xff0c;这个服务主要负责扫描系统中指定目录&#xff0c;找出里面以apk结尾的文件&#xff0c;通过对这些文件进行解析&#xff0c;得到应用程序的所有信息并完成应用程序的安…

算法学习day59

算法学习day591.力扣503.下一个更大元素II1.1 题目描述1.2 分析1.3代码2.力扣42. 接雨水2.1 题目描述2.2 分析2.3 代码3.参考资料1.力扣503.下一个更大元素II 1.1 题目描述 题目描述&#xff1a; 给定一个循环数组&#xff08;最后一个元素的下一个元素是数组的第一个元素&a…

【大数据Hadoop】HDFS3.3.1-Namenode-租约管理

租约管理前言LeaseManager.LeaseLeaseManager添加租约 - addLease租约检查 - FsNamesystem.checkLease租约更新 - renewLease删除租约 - removeLease租约检查 - Monitor 线程租约恢复 - Monitor 线程发起租约恢复 - 其他方式发起前言 我们知道 HDFS 文件是 write-once-read-man…

CloudCompare插件开发之点云如何创建、保存并显示?

文章目录0.引言1.创建插件工程2.代码编写3.显示点云4.保存点云0.引言 CloudCompaer是一款优秀的开源软件&#xff0c;在点云处理时可以根据实际要求开发合适的插件&#xff0c;在实际使用中&#xff0c;创建点云、保存点云、显示点云的操作较为基础&#xff0c;为了使这些操作得…