Home >Web Front-end >CSS Tutorial >How Can I Implement Ellipsis Truncation in a Resizable Text Element?

How Can I Implement Ellipsis Truncation in a Resizable Text Element?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-29 23:57:29542browse

How Can I Implement Ellipsis Truncation in a Resizable Text Element?

Ellipsis Truncation in Text Resize

Truncating text with ellipsis ("...") in the middle of the content can enhance readability when UI elements have variable widths. Achieving this effect presents a challenge where the ellipsis should disappear when the text is displayed in its entirety.

To implement ellipsis within a resizable element:

  1. Use a Custom Data Attribute:

    • In HTML, assign the full text to a custom data attribute:
  2. Set Event Listeners:

    • Add load and resize event listeners that trigger a JavaScript function to populate the innerHTML of the span tag with the original text stored in the data attribute.
  3. Ellipsis Function:

    • Define a JavaScript function (e.g., "start_and_end") to truncate the text:

      <code class="javascript">function start_and_end(str) {
        if (str.length > 35) {
          return str.substr(0, 20) + '...' + str.substr(str.length-10, str.length);
        }
        return str;
      }</code>
    • Adjust values (e.g., 35, 20, 10) as needed for different objects and fonts.
  4. Dynamic Interpolation:

    • Consider using dynamic interpolation to determine the appropriate number of characters to display, based on the font size and element width.
  5. Tooltip Accessibility:

    • Add an abbr tag to the ellipsis to enable a tooltip with the full text when hovered over.

By implementing these steps, you can effectively truncating text with ellipsis in the middle of a text element, ensuring it disappears when the element is stretched out to the full width of the text.

The above is the detailed content of How Can I Implement Ellipsis Truncation in a Resizable Text Element?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn