Reputation: 1658
Does anybody know how to add ::after in child element?
CSS I expect to run:
dt {
float: left;
}
dt::after {
content: ":"
}
My code. ::after
doesn't work well.
const useStyles = makeStyles((theme: Theme) =>
createStyles({
dlist: {
'& dt': {
float: 'left',
'& dt::after': {
content: '":"',
},
},
},
}),
);
const Report = (props: any) => {
const styles = useStyles();
return (
<dl className={styles.dlist}>
<dt>JPY</dt>
<dd>100</dd>
<dt>USD</dt>
<dd>1</dd>
</dl>
)
}
Upvotes: 0
Views: 61
Reputation: 3335
You are nesting & dt::after
inside & dt
. Since the ampersand (&
) is evaluated to be the parent selector of & dt::after
, it will be evaluated to dlist dt dt::after
, which fails to select any elements.
Instead of nesting the & dt::after
object inside & dt
, try moving the object out of & dt
:
const useStyles = makeStyles((theme) => ({
dlist: {
"& dt": {
float: "left"
},
"& dt::after": {
content: '":"'
}
}
}));
Upvotes: 1