CSS - user-select Property



CSS user-select property determines whether text can be selected by the user, with no effect on content loaded as part of a browser's user interface (chrome) other than textboxes.

While user-select is not inherited, its initial "auto" value often makes it behave as if it is inherited. WebKit/Chromium-based browsers implement the property as inherited, which violates the specification and will cause problems. Chromium has been resolving these problems to align with the specified behavior.

Possible Values

  • none − The element's and sub-elements' text is not selectable, but these elements may be present in the Selection object.

  • auto − The auto value is determined as follows:

    • The value used for the ::before and ::after pseudo-elements is none.

    • For editable elements, the used value is contain.

    • If the parent of this element has a user-select value all, then the used value is all.

    • If the parent of this element has a user-select value none, then the used value is none.

    • The used value is text.

  • text − The user can select the text.

  • contain − Allows the selection to begin within the element, but contains the selection to the boundaries of that element.

  • all − The content of the element must be selected atomically: If a selection contains part of an element, it must also include all of its descendants. If a double-click or context-click happens in a sub-element, the highest ancestor with this value will be chosen.

Applies To

All elements.

Syntax

user-select: none | auto | text | contain | all;

CSS user-select - none Value

The following example demonstrates the user-select: none property preventing users from selecting the text −

<html>
<head>
<style> 
   .text-none {
      -webkit-user-select: none; 
      user-select: none;
   }
</style>
</head>
<body>
   <p>This text should be selectable.</p>
   <p class="text-none">This text cannot be selected.</p>
</body>
</html>

CSS user-select - auto Value

The following example demonstrates the user-select: auto property used to select the text −

<html>
<head>
<style> 
   p {
      -webkit-user-select: auto; 
      user-select: auto;
   }
</style>
</head>
<body>
   <p>This text should be selectable.</p>
</body>
</html>

CSS user-select - text Value

The following example demonstrates the user-select: text property allows the users to select the text −

<html>
<head>
<style> 
   p {
      -webkit-user-select: text; 
      user-select: text;
   }
</style>
</head>
<body>
   <p>This text should be selectable.</p>
</body>
</html>

CSS user-select - all Value

The following example demonstrates the user-select: all property allows the users to select the text within a single click −

<html>
<head>
<style> 
   p {
      -webkit-user-select: all; 
      user-select: all;
   }
</style>
</head>
<body>
   <p>This text can be selected with a single click.</p>
</body>
</html>

CSS user-select - contain Value

The following example demonstrates the user-select: contain property allows the users to select the text within the paragraph's boundaries −

<html>
<head>
<style> 
   p {
      -webkit-user-select: contain; 
      user-select: contain;
   }
</style>
</head>
<body>
   <p>This text can be selected within the paragraph's boundaries.</p>
</body>
</html>
Advertisements