javascript - 覆盖子元素中的样式化组件父 div 属性
问题描述
在 React 应用程序中,我使用组件处理以下div
结构。styled
<Parent>
<Child>
<Image/>
<Text/>
</Child>
</Parent>
const Parent = styled.div`
...
...
padding = 25px 5px;
`;
const Child = styled.div`
padding: 0px;
`;
问题:我必须覆盖padding
子组件中的父 div 属性 ()。我不能extend
覆盖子级中的父级 div,因为父级有更多不应该应用于子级的属性。我需要强制padding: 0px
子组件。
试过:我尝试了以下但没有工作,因为它是一个新人div
。
const Child = styled.div`
&& {
padding: 0px;
}
`;
const Child = styled.div`
padding: 0px !important;
`;
有没有办法在styled
不将父 div 扩展到子组件的情况下将父属性覆盖到子组件中?
解决方案
您不能class
从孩子定位父母,而是应该从父母本身进行。
在此示例中,如果不覆盖 in Parent
,则孩子将拥有padding: 10px
并且将显示绿色背景。
const Child = styled.div`
background-color: palegreen;
padding: 10px;
`;
const Parent = styled.div`
background-color: palevioletred;
padding: 1rem;
${Child} {
padding: 0px;
}
`;
const App = () => {
return (
<Parent>
<Child />
</Parent>
);
};
推荐阅读
- arrays - 如何使用位于数组中的数组中的数据
- ios - 当应用程序从后台返回时,Xamarin iOS 呈现不同的视图控制器
- jsp - 尝试从另一个页面调用一个 jsp 页面时出现内部服务器错误代码 500
- powershell - 在 Outlook 中创建会议的 Powershell 脚本
- python - 一些 SVG 元素未在 python webkitgtk 应用程序中呈现
- javascript - 在 setBadgeText 中传递变量的正确语法
- android - Android In App Updates - 无法在 AppUpdateInfo 中检测到更新
- kubernetes - 用于代理传递的 URI 中的正则表达式
- javascript - 是否可以控制外部网站上 iframe 的高度
- ios - 如何将 JSON 中的值附加到数组中?