html - 我应该如何使用 styled-component 解决这些样式问题
问题描述
我正在尝试制作一个投资组合网站作为练习。我不是很擅长css,我从其他人的代码中学习,以学习他们的设计和特效。
这是我到目前为止所取得的成就,我有一个小画廊来存储我的照片,并在单击时使用照片放大器将其放大。通常当它没有悬停或单击时,照片会去饱和filter: grayscale(50%) contrast(1);
,当它悬停时,饱和度会恢复正常并且照片下方有阴影。
这是演示:https ://codesandbox.io/s/objective-swartz-tuo1t
相关的代码片段是
const Avatar = styled(SingleSource)`
position: relative;
mix-blend-mode: multiply;
filter: grayscale(50%) contrast(1);
transition: ${theme.transition};
`;
const AvatarContainer = styled.a`
box-shadow: 0 10px 30px -15px ${colors.shadowNavy};
transition: ${theme.transition};
&:hover,
&:focus {
box-shadow: 0 20px 30px -15px ${colors.shadowNavy};
}
width: 100%;
background: transparent;
position: relative;
margin-left: -20px;
&:hover,
&:focus {
background: transparent;
${Avatar} {
filter: none;
mix-blend-mode: normal;
}
}
这< SingleSource />
是每张照片的放大镜组件。
然而现在有几个问题。
解决方案
根据您的代码片段,这应该可以为您解决大纲问题。在components/jobs.js
更新的定义TabContent
看起来像:
const TabContent = styled.div`
top: 0;
left: 0;
width: 100%;
height: auto;
opacity: ${props => (props.isActive ? 1 : 0)};
z-index: ${props => (props.isActive ? 2 : -1)};
position: ${props => (props.isActive ? "relative" : "absolute")};
visibility: ${props => (props.isActive ? "visible" : "hidden")};
transition: ${theme.transition};
transition-duration: ${props => (props.isActive ? "0.5s" : "0s")};
&:focus-within { // <--------- this is what was added
outline: none;
}
ul {
padding: 0;
margin: 0;
list-style: none;
font-size: ${fontSizes.large};
li {
position: relative;
padding-left: 30px;
margin-bottom: 10px;
&:before {
content: "▹";
position: absolute;
left: 0;
color: ${colors.green};
line-height: ${fontSizes.xlarge};
}
}
}
`;
推荐阅读
- javascript - 从悬停到点击的下拉菜单
- css - Firefox 不反映 CSS 转换和透视
- c++ - protobuf protoc 创建错误的头依赖路径
- sql - SQL Server 中从 NVARCHAR 中删除所有“InvalidXMLCharacters”的有效方法
- python-3.x - 从 spyder 打开 cmd 的脚本
- javascript - 为什么 webpack 在使用“import * as _”时不会对 lodash 进行摇树?
- lstm - 如何在 rllib 中使用 Marwil 为 LSTM 配置批次
- javascript - 试图迭代 JSON 对象数组但它是空的?
- bash - 使用 read -p 命令保存响应并覆盖脚本中的配置文件
- bash - MacOS(Catalina)终端 bash 看起来很奇怪