问题描述
我有一个组件 (Container
),它包含一个图标(下面用 X
标记)、一个标题和一个子组件(Message
>) 包含长消息.我希望 Container's
的宽度环绕图标和标题,因此两者都在一行上,只要窗口的宽度允许.
消息组件有一个按钮,可以切换长文本的显示.此文本不应拉伸父 Container
,并且应与标题的宽度对齐.消息内容可以在任何时候被破坏和包装:
我使用了一个 flex-grow: 1;width: 0;
样式在 Message
中的虚拟 div
上按照建议
如何在 MS Edge 上解决此问题?是否有仅使用 CSS 的替代方法可以防止消息内容拉伸其父级?
Style.css:
.box {显示:表;保证金:自动;边框:1px纯黑色;}.容器 {显示:弹性;对齐内容:居中;}.图标 {右边距:10px;}.信息 {显示:弹性;}.message >div {弹性增长:1;宽度:0;断字:断断续续;}
Container.jsx:
export const Container = () =>{返回 (X一些标题<消息>不应使父级更宽的长消息</消息>
);}
Message.jsx:
export const Message = ({children}) =>{const [isExpanded, setExpanded] = React.useState(false);const handleClick = () =>setExpanded(!isExpanded);返回 (<div><div><button onClick={handleClick}>点击</button>