html元素使整个网络应用程序可选择?

Posted

技术标签:

【中文标题】html元素使整个网络应用程序可选择?【英文标题】:html element making whole web app selectable? 【发布时间】:2013-02-10 20:24:30 【问题描述】:

我的大部分网络应用都设置为不可选择。以div为例:

div 
    -webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

令人惊奇的是,我仍然可以通过从左边缘开始选择来选择大部分页面——DOM 检查器告诉我,我正在选择任何 DOM 元素本身的 outside,并且正在从*** HTML 元素内部进行选择。我试着傻了,把它设置为:

html 
    -webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

...没有任何效果。我在这里是一个完美主义者,但在这一点上我只是好奇——你怎么能完全禁用它?身体已经是 100% 的宽度。我不明白为什么我可以在外面点击。

此外,这只发生在 Firefox 中。

【问题讨论】:

也许可以试试html, body ... 你可以点击body外部大概是因为body有边距吧? @BorisZbarsky 那为什么它只发生在 FireFox 中?另外,不,body 的唯一相关规则是 width: 100%。 <body> 在浏览器中默认有边距。如果您没有明确关闭它,它就在那里。至于为什么行为不同,那是因为选择行为没有规范,所以在不同的浏览器中会有所不同。 【参考方案1】:

将 div 作为整体包装器使用绝对定位,左上和右下为负,例如 -150 上 -150 下,然后用 120 120 填充内容,使用滚动顶部观察器或添加滑动标题和额外的 60当发生折叠时,空间可以用作默认动画(将填充切换到边距

它应该可以工作,但如果您不使用扩展区域进行标题分层或图像,可能会让人头疼。

希望对您有所帮助。

真诚的

杰森

【讨论】:

以上是关于html元素使整个网络应用程序可选择?的主要内容,如果未能解决你的问题,请参考以下文章

CSS-使整个页面上的全部元素可编辑

使整个页面上的全部元素可编辑

Angularjs指令使HTML元素可拖动并且其中的HTML字段可选择或可修改

如何使用 CSS 使整个 div 可点击 [关闭]

使用华为公司ensp搭建网络模型,电脑自动获取ip(DHCP),可根据域名查找网页,并且使整个模型互通

使 html 表格元素响应水平滚动