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>

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *