在 html 中围绕某些内容放置“框架”的最佳方法是啥?

Posted

技术标签:

【中文标题】在 html 中围绕某些内容放置“框架”的最佳方法是啥?【英文标题】:What is the best way to position a 'frame' around something in html?在 html 中围绕某些内容放置“框架”的最佳方法是什么? 【发布时间】:2017-01-11 22:57:22 【问题描述】:

我不是指 html 。我的意思是类似于我在此处输入的文本框周围的框架,带有边框和带有一些图标的按钮栏。

我想要一些可以以 2 种模式存在的可编辑内容。第一个是查看模式,您可以在其中查看内容。第二种是编辑模式,在它周围出现一个框架,其中包含协助编辑所需的任何控件。

我希望框架不会中断内容的正常页面流。因此,如果内容上方有非常接近的内容,则工具栏将在 z 平面中位于其上方。框架应该显示在页面顶部,而不是在其中。

我想过获取被包裹事物的绝对屏幕坐标,并使用“固定”定位将框架放置在正确的位置。

但我想知道“绝对”定位是否可行?除非在这种情况下,绝对定位的框架将是它所包裹的事物的父级,并且“绝对”定位子级相对于父级,而不是父级相对于子级。或者绝对定位的孩子实际上是否比孩子大,因此像我描述的那样包装它?

【问题讨论】:

【参考方案1】:

您只需要一个父 div,其中包含一个用于标题栏的 div 和一个用于输入和输出的第二个 div。

然后,只要您的用户“完成”(此处通过单击“提交”进行模拟),您就可以隐藏输入并使用输入内容填充输出 div。

我创建了一个小提琴来演示这个here。

请注意,输入字段需要应用calc() 才能调整其宽度。

希望这会有所帮助!

【讨论】:

感谢您为其创建小提琴,非常感谢。它与我想要的不同,因为标题部分不在正常页面流之外位于页面顶部,即 z-index > 1。但是在父 div 中构建所有内容并使用 show/ 的想法hide 是一个最有用的建议。

以上是关于在 html 中围绕某些内容放置“框架”的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 MVC 中仅更新对象的某些字段的最佳方法是啥?

在雪花中放置多个仓库的最佳方法?

装配:将某些内容打印到屏幕(到命令行)的最佳方式是啥

寻求有关构建图形控件的最佳方法的建议

nodejs-在函数内执行多个异步调用的最佳方法?

在 Android Canvas 上围绕字符串放置一个矩形