CSS text hiding tips: How to use text-indent and clip-path to hide text
In web design, sometimes we need to hide text, but we don’t want to use display: none; to completely remove it. At this time, CSS provides some techniques to achieve the effect of text hiding, the most commonly used of which are text-indent and clip-path.
1. text-indent
The text-indent attribute can move the text to the left or right. If set to a negative value, the text can be hidden outside the edge of the element. For example:
.hide { text-indent: -9999px; }
This style will move the text within the element outside its left side, achieving the hidden effect of the text. However, it should be noted that this method only applies to one line of text and cannot handle the hiding of multiple lines of text.
2. clip-path
The clip-path property uses a clipping path to clip the visible portion of images and elements. We can hide the text within an element from outside the rectangle by setting the clipping path to a rectangle. For example:
.hide { clip-path: inset(0 0 0 9999px); }
This style will crop the text within the element to 9999px beyond the left side, achieving the hidden effect of the text. Compared with text-indent, the clip-path method can handle the hiding effect of multi-line text.
3. Comparison of text-indent and clip-path
We can compare text-indent and clip-path to better understand their advantages and disadvantages.
text-indent: Applicable to the hidden effect of one line of text, cannot handle multi-line text.
clip-path: Suitable for hiding effects of multi-line text. It is more flexible than text-indent and can handle more complex shapes.
text-indent: Very simple, just set the negative value of text-indent.
clip-path: It is relatively complicated. You need to consider the complexity of the shape when setting the clipping path, and it requires more practice and experience to master.
text-indent: The compatibility is very good, supported by almost all browsers.
clip-path: Compatibility is relatively poor, some browsers do not support it, and compatibility processing methods need to be used to solve it.
To sum up, text-indent is suitable for hiding a simple line of text, while clip-path is more flexible and can handle more complex shapes, but it requires more practice and experience. Compatibility issues need to be addressed.
4. Usage scenarios
In design, sometimes we need to hide part of the text within an element (such as repeated titles or description text), but we don't want to use display:none; to remove it completely. At this time, using text-indent or clip-path can achieve our needs.
.title { text-indent: -9999px; }
Sometimes we need to implement a hover effect to hide the text in a certain element and display it only when the mouse is moved into it. Using text-indent and clip-path, we can easily achieve this effect.
.btn { text-indent: -9999px; } .btn:hover { text-indent: 0; }
.btn { clip-path: inset(0 0 0 9999px); } .btn:hover { clip-path: unset; }
In form design, we sometimes need to hide the text in the label and only use placeholder to prompt the user for input. At this time, using text-indent or clip-path can achieve our needs.
input[type="text"] + label { text-indent: -9999px; }
input[type="text"] + label { clip-path: inset(0 0 0 9999px); }
Summary
In web design, text-indent and clip-path techniques are very practical. We can use them to hide text in elements, implement hover effects, or hide text in form labels, etc. They are not only convenient to use, but also have good compatibility and are an indispensable part of CSS skills.
The above is the detailed content of css text hidden. For more information, please follow other related articles on the PHP Chinese website!