带样式的组件下划线悬停
Styled Component underline hover
您如何将这种伪效果转化为样式化组件。例如,完全相同的下划线,但在 JS 效果中都存储在一个 const CSS 中。
我想构建以下内容,但不确定如何将其写入样式化的组件
a::after {
content: "";
display: block;
margin-top: 10px;
margin-left: auto;
margin-right: auto;
height: 2px;
width: 0px;
background-color: tomato;
}
我在 https://codesandbox.io/s/ecstatic-leaf-oj1my?file=/src/App.js
创建了一个 codesandbox
下面给出的是完整性代码。我添加了一个悬停,这样您就可以轻松地看到正在应用的样式。尝试更改伪元素的高度,看看是否也应用了伪元素的样式。
import "./styles.css";
import styled from "styled-components";
const StyledAchor = styled.a`
color: blue;
&:hover {
color: white;
}
&::after {
content: "";
display: block;
margin-top: 10px;
margin-left: auto;
margin-right: auto;
/* try changing the height to see the after pseudo element is being applied */
height: 20px;
width: 0px;
background-color: tomato;
}
`;
export default function App() {
return (
<div className="App">
<StyledAchor href="/">styled anchor tag</StyledAchor>
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
</div>
);
}
您如何将这种伪效果转化为样式化组件。例如,完全相同的下划线,但在 JS 效果中都存储在一个 const CSS 中。
我想构建以下内容,但不确定如何将其写入样式化的组件
a::after {
content: "";
display: block;
margin-top: 10px;
margin-left: auto;
margin-right: auto;
height: 2px;
width: 0px;
background-color: tomato;
}
我在 https://codesandbox.io/s/ecstatic-leaf-oj1my?file=/src/App.js
创建了一个 codesandbox下面给出的是完整性代码。我添加了一个悬停,这样您就可以轻松地看到正在应用的样式。尝试更改伪元素的高度,看看是否也应用了伪元素的样式。
import "./styles.css";
import styled from "styled-components";
const StyledAchor = styled.a`
color: blue;
&:hover {
color: white;
}
&::after {
content: "";
display: block;
margin-top: 10px;
margin-left: auto;
margin-right: auto;
/* try changing the height to see the after pseudo element is being applied */
height: 20px;
width: 0px;
background-color: tomato;
}
`;
export default function App() {
return (
<div className="App">
<StyledAchor href="/">styled anchor tag</StyledAchor>
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
</div>
);
}