CSS에서 텍스트 작업: 몇 가지 문제 및 해결 방법

DDD
풀어 주다: 2024-10-11 10:12:30
원래의
933명이 탐색했습니다.

Working with text in CSS: some issues & solutions

1.很少人沒有遇過英雄部分段落的問題。為了解決這個問題,許多開發人員會建立一個單獨的 div 並為其分配特定的寬度,或直接將 width 或 max-width 應用於段落。我曾經這樣做過,直到我發現了 ch 單位。該單位計算字元數,允許您指定每行所需的字元數。

在下面的範例中,英雄部分的段落被賦予 max-width: 64ch (建議 60 到 70 個字元)。不需要額外的 div。

2. 有時,標題可能只有一個單字會移動到下一行,或者第一行包含的文字多於第二行,這可能看起來不平衡。我們經常使用
標記或調整寬度來解決此問題。段落也可能出現此問題。例如,在前面的範例中,段落的最後一行的文字少於其他行。

這個問題的一個巧妙的解決方案是使用 text-wrap:balance;。在以下範例中,段落的每一行包含大致相同數量的文字。

與balance類似,text-wrap屬性還有另一個值叫做pretty。當段落或標題的最後一行僅包含一個單字時:

使用文字換行:漂亮;在最後一行的單獨單字中加入另一個單詞,因此它不是獨立的。同時瀏覽器支援text-wrap:balance;不錯,但對於漂亮來說不太好?

3. 文字裝飾屬性經常未被充分利用。讓我們探索它可以接受的各種值,並了解文字裝飾實際上是四個屬性的簡寫:

p {
    /*
    text-decoration-line: underline;
    text-decoration-style: wavy;
    text-decoration-color: red;
    text-decoration-thickness: 2px;

    /* shorthand */
    text-decoration: underline wavy red 2px;
}
로그인 후 복사

與文字裝飾相關的另一個有趣的屬性是 text-underline-offset,它允許您在文字裝飾線和文字之間創建空間。

4.有時,我們會在部落格中連結長文本,這些文字通常會換行到下一行。當連結文字斷到下一行時,對其應用背景顏色可能會顯得很尷尬,如我們前面的範例所示。

許多人在標題中使用背景顏色時也會遇到這個問題。一個巧妙的解決方案是使用 box-decoration-break:clone;。在下面的範例中,之前看起來很尷尬的連結文字現在可以正確顯示。

5.雖然偶爾會出現一些問題,但我們現在可以直接在 CSS 中使用文字描邊。是的,它需要前綴,但我們不再需要像以前那樣依賴文字陰影技巧,這是一個重大改進!

6. The last feature for today is line-clamp. It also requires a prefix, yet it's now widely used. This is commonly seen in cards for various blogs or articles. There are many ways to determine how many lines of text to show on a card. I used to control this using a custom data attribute and JavaScript, specifying the number of characters to display. However, this can be done more easily with line-clamp.

The code block below compiles all the topics discussed, making it convenient to search for and research other uses, browser support, and more.

p {
    max-width: 64ch;
    text-wrap: balance; /* or pretty */
    /**********************/
    display: -webkit-box;
    -webkit-line-clamp: 3; /* number of lines to show */
    -webkit-box-orient: vertical;  
    overflow: hidden;
    /**********************/
    /*
    text-decoration-line: underline;
    text-decoration-color: red;
    text-decoration-style: wavy;
    text-decoration-thickness: 2px;

    /* shorthand */
    text-decoration: underline wavy red 2px;
    box-decoration-break: clone;
    text-underline-offset: 3px;
}

h1 {
    -webkit-text-stroke-color: #333;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 1px;
}
로그인 후 복사

That's all for today. Stay well, and goodbye!

위 내용은 CSS에서 텍스트 작업: 몇 가지 문제 및 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!