跨度类型的中心占位符
center placeholder of type span
我创建了一个跨度作为 figcaption
的占位符。我试图将占位符居中,但它正在创建一些我无法控制的填充(不确定)。
这是代码沙箱的 link。
sanbox
我试过注释掉 属性 width:0
,这确实使标题居中,但现在焦点出现问题。
这是作为占位符的 span 的反应组件
<span
contentEditable={false}
style={{
pointerEvents: "none",
display: "inline-block",
width: "0",
maxWidth: "100%",
whiteSpace: "nowrap",
opacity: "0.333"
}}
>
Figure Caption
</span>
要重现错误,请打开沙盒,将光标置于编辑器中,然后单击 insert image
按钮。只要您单击它,就会插入带有标题的图像。里面的占位符没有居中。
只需从设置中删除 width: "0"
。在居中的 parent 和 child 中,width:0
块(或 inline-block)child 元素,将其置于 parent 的中心(实际上它将元素的左侧放在 parent 的中心),如果它包含文本或任何类型的内容,内容将向右增长(内容溢出 zero-width 元素)。
为了克服焦点问题,有一些解决方法:
第一个想法: 使用 margin-left
。您仍然可以使用 width:0
,但必须将 margin-left
设置为等于字幕文本宽度的一半。一旦文本更改(onKeyup 事件),这个想法需要更多编码来计算标题的动态宽度。
另一个想法: 删除 width:0
但是:一旦用户点击 cpation 就隐藏默认标题,如果用户输入为 null 则再次将其设置回来.您可以将默认标题保存在 data-caption
标签中以轻松恢复它。
我创建了一个跨度作为 figcaption
的占位符。我试图将占位符居中,但它正在创建一些我无法控制的填充(不确定)。
这是代码沙箱的 link。
sanbox
我试过注释掉 属性 width:0
,这确实使标题居中,但现在焦点出现问题。
这是作为占位符的 span 的反应组件
<span
contentEditable={false}
style={{
pointerEvents: "none",
display: "inline-block",
width: "0",
maxWidth: "100%",
whiteSpace: "nowrap",
opacity: "0.333"
}}
>
Figure Caption
</span>
要重现错误,请打开沙盒,将光标置于编辑器中,然后单击 insert image
按钮。只要您单击它,就会插入带有标题的图像。里面的占位符没有居中。
只需从设置中删除 width: "0"
。在居中的 parent 和 child 中,width:0
块(或 inline-block)child 元素,将其置于 parent 的中心(实际上它将元素的左侧放在 parent 的中心),如果它包含文本或任何类型的内容,内容将向右增长(内容溢出 zero-width 元素)。
为了克服焦点问题,有一些解决方法:
第一个想法: 使用 margin-left
。您仍然可以使用 width:0
,但必须将 margin-left
设置为等于字幕文本宽度的一半。一旦文本更改(onKeyup 事件),这个想法需要更多编码来计算标题的动态宽度。
另一个想法: 删除 width:0
但是:一旦用户点击 cpation 就隐藏默认标题,如果用户输入为 null 则再次将其设置回来.您可以将默认标题保存在 data-caption
标签中以轻松恢复它。