CSS 防止文本选择
在 CSS 中,我们可以使用许多属性来对元素进行一些修改。 在这里,修改这个词指的是元素的样式,或者给予或移除元素的各种控制。
使用 CSS user-select 属性来防止文本选择
在设计网页时,我们通常会添加一些文本,可以是段落,表格中的数据,表格中的标签等。当该文本出现在网页上时,查看网页的人可以选择文本并复制它以进行各种活动 .
例如,访问网页的人可以从该网页中选择一些文本并复制它们以供他使用; 然而,一些网页所有者并不喜欢这样。 所以为了防止这种情况,我们可以阻止文本选择。
CSS 为我们提供了一个属性来防止文本选择,即 user-select 属性。 使用此属性,我们可以阻止用户选择任何文本。
但我们都使用不同种类的网络浏览器。 如果我们使用不同类型的网络浏览器,我们应该改变我们使用这个属性的方式。
下面我们展示了如何在各种 Web 浏览器中使用 user-select 属性。
语法:
-webkit-user-select: none; /*Standard method. Can be used in Safari*/
-moz-user-select: none; /*Standard method. Can be used in Firefox*/
-ms-user-select: none; /*Standard method. Can be used in Internet Explorer or Edge*/
user-select: none; /*Standard method. Can be used in Google Chrome*/
第一种方法适用于 iOS 和 Mac 用户,因为他们的默认浏览器是 Safari。 Firefox 用户可以使用第二种方法,使用 Internet Explorer 或 Edge 的用户可以使用第三种方法。
那些使用谷歌浏览器作为浏览器的人可以使用第四种方法。
在上面的语法中,我们可以为 user-select 属性的值分配几个选项。
选项 | 说明 |
---|---|
auto | auto 值是用户选择属性使用的默认值。 如果浏览器允许,我们可以选择文本。 |
none | 如果我们使用这个选项,用户将无法选择任何文本。 换句话说,我们正在阻止文本选择。 |
text | 我们可以使用它来让用户选择文本。 |
all | 通过这个选项,我们可以通过单击而不是双击来选择文本。 |
在本文中,我们将讨论 user-select
属性的 none 选项,以防止用户选择文本。
添加 user-select: none 到文本
为了容易理解这个概念,让我们在网页上添加一个简单的文本,如下所示。
<div>
<p class="unselect">This is a text</p>
</div>
为文本添加样式
让我们向该文本添加一些 CSS 样式以获得更好的视图。
.unselect{
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-size: 30px;
color: navy;
padding-left: 10px;
}
在这里,我们为文本指定了字体、字体大小和填充。 它应该看起来像这样,我们可以选择文本。
如您所见,我们可以像往常一样选择我们的文本。
添加具有 none 值的 user-select 属性
添加样式后,我们可以设置 user-select 属性来防止文本选择。 我们使用 none 作为属性的值,如下所示。
.unselect{
user-select: none;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-size: 30px;
color: navy;
padding-left: 10px;
}
<div>
<p class="unselect">This is a text</p>
</div>
如您所见,我们的文本现在不可选择。
但以上代码仅在使用 Google Chrome 网络浏览器时有效。 我们可以修改上面的代码以在其他网络浏览器中使用。
.unselect{
user-select: none; /*Standard method. Can use in Google Chrome*/
-webkit-user-select: none; /*Standard method. Can use in Safari*/
-moz-user-select: none; /*Standard method. Can use in Firefox*/
-ms-user-select: none; /*Standard method. Can use in Internet Explorer or Edge*/
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-size: 30px;
color: navy;
padding-left: 10px;
}
<div>
<p class="unselect">This is a text</p>
</div>
将 user-select 属性添加到表中的文本
现在,让我们创建一个表来尝试这个属性。 我们将构建的表有两列:名字和姓氏,以及包含相关数据的两行。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="Styles.css">
<title>HTML prevent text selection</title>
</head>
<body>
<table>
<tr>
<th>First Name</th>
<th>Last Name</th>
</tr>
<tr>
<td>Jamie</td>
<td>Anderson</td>
</tr>
</table>
</body>
</html>
如您所见,我们已经创建了表格,但它没有样式。 让我们使用 CSS 为我们的表格设计样式。
table {
background-color: rgb(243, 150, 253);
font-family: arial, sans-serif;
border-collapse: collapse;
width: auto;
}
td, th {
border: 1px solid #000000;
text-align: left;
padding: 8px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="Styles.css">
<title>HTML prevent text selection</title>
</head>
<body>
<table>
<tr>
<th>First Name</th>
<th>Last Name</th>
</tr>
<tr>
<td>Jamie</td>
<td>Anderson</td>
</tr>
</table>
</body>
</html>
如结果所示,我们已经设计了表格的样式。 您还可以看到我们可以选择表格内的文本,所以让我们尝试禁用它。
与前面的示例一样,我们可以将 user-select 属性添加到表中。 您可以将其添加到整个表格或仅用于选定的单元格。
我们将仅为表头添加用户选择属性。 我们可以将下面的代码块添加到相同的 CSS 代码中。
th{
user-select: none; /*Standard method. Can use in Google Chrome*/
-webkit-user-select: none; /*Standard method. Can use in Safari*/
-moz-user-select: none; /*Standard method. Can use in Firefox*/
-ms-user-select: none; /*Standard method. Can use in Internet Explorer or Edge*/
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="Styles.css">
<title>HTML prevent text selection</title>
</head>
<body>
<table>
<tr>
<th>First Name</th>
<th>Last Name</th>
</tr>
<tr>
<td>Jamie</td>
<td>Anderson</td>
</tr>
</table>
</body>
</html>
如果我们运行代码,我们将获得如下所示的结果。
如您所见,无法选择标题中的文本。
总结
本文讨论了防止文本选择以及 CSS 的 user-select 属性如何帮助实现它。 正如我们所了解的,在各种 Web 浏览器中有不同的方式使用此属性。
我们举了两个例子来阐明阻止文本选择的基本内容。 还有其他方法,但 CSS 提供了一种简单的方法来完成此操作。
相关文章
覆盖 Bootstrap CSS
发布时间:2023/04/28 浏览次数:59 分类:CSS
-
本文介绍的是著名的 CSS UI 框架 Bootstrap。 我们将讨论使用自定义样式覆盖 Bootstrap CSS 的过程。
使用 CSS 制作带圆角的 HTML 表格
发布时间:2023/04/28 浏览次数:107 分类:CSS
-
这个简短的文章是关于在 HTML 页面上制作圆角表格的 CSS 样式。使用 CSS 制作带圆角的 HTML 表格 使图像、表格或 div 段的角变圆的属性是 border-radius。
CSS 设置轮廓 outline 的半径
发布时间:2023/04/28 浏览次数:123 分类:CSS
-
在本文中,用户将学习如何为 outline 属性设置圆角,与 border-radius 属性相同。 在这里,我们已经解释了将圆角应用于轮廓属性的不同方法。
使用 CSS 居中视频
发布时间:2023/04/28 浏览次数:73 分类:CSS
-
在本文中,用户将学习仅使用 CSS 将 <video> 元素居中。 我们已经在下面解释了使用 CSS 使视频居中的多种方法。
使用 CSS 居中内联块
发布时间:2023/04/28 浏览次数:108 分类:CSS
-
在本文中,我们将创建多个 HTML 元素并将其显示设置为 inline-block。 之后,我们将学习使用 display: inline-block 将所有元素居中。
使用 CSS 添加透明边框
发布时间:2023/04/28 浏览次数:98 分类:CSS
-
在本文中,我们将讨论在 HTML 中的图像、按钮或任何其他对象周围创建透明边框。 透明边框是图像或对象周围的边框,可改善用户体验。
使用 CSS 向上移动文本
发布时间:2023/04/28 浏览次数:153 分类:CSS
-
有时,在开发网页时,我们将文本放在底部或页脚中,因此我们可能需要在文本下方留一个空格并将文本上移。 我们将学习如何使用 css 从网页底部向上移动文本。
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
CSS 使用浮动居中元素
发布时间:2023/04/28 浏览次数:190 分类:CSS
-
本文主要讨论如何使用CSS实现浮动元素居中。 float 属性通常设置为左值或右值,而不是中心值。 本文将讨论浮动元素如何居中的几个技巧