Rumah > hujung hadapan web > tutorial js > Bolehkah CSS Menggayakan Separuh daripada Watak?

Bolehkah CSS Menggayakan Separuh daripada Watak?

Mary-Kate Olsen
Lepaskan: 2024-10-31 06:54:01
asal
266 orang telah melayarinya

Adakah Mungkin untuk Menggunakan CSS pada Separuh Aksara?

Masalah:

Bagaimanakah kita boleh menggayakan hanya separuh daripada watak? Sebagai contoh, menjadikan separuh daripada huruf itu telus.

Percubaan Sebelumnya:

  • Mencari kaedah untuk menggayakan separuh daripada watak
  • Menggayakan sebahagian daripada aksara menggunakan CSS atau JavaScript
  • Menggunakan CSS pada 50% aksara

Contoh:

Can CSS Style Half of a Character?

Penyelesaian:

GitHub Plugin:

https://github.com/arbel/half-style

Demo:

http://jsfiddle.net/arbel/pd9yB/1694/

Ciri:

  • CSS tulen untuk aksara tunggal
  • Automasi JavaScript merentas teks atau berbilang aksara
  • Memelihara kebolehcapaian teks untuk pembaca skrin

Penyelesaian Asas:

Watak Tunggal:

Gaya Separuh pada teks

Penyelesaian ini menggunakan CSS tulen dan kelas bernama .halfStyle.

Sebarang Teks:

Tambahkan kelas .textToHalfStyle pada elemen mengandungi teks.

Automasi JavaScript:

<code class="javascript">// jQuery for automated mode
jQuery(function($) {
    var text, chars, $el, i, output;

    // Iterate over all class occurences
    $('.textToHalfStyle').each(function(idx, el) {
    $el = $(el);
    text = $el.text();
    chars = text.split('');

    // Set the screen-reader text
    $el.html('<span style="position: absolute !important;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);">' + text + '</span>');

    // Reset output for appending
    output = '';

    // Iterate over all chars in the text
    for (i = 0; i < chars.length; i++) {
        // Create a styled element for each character and append to container
        output += '<span aria-hidden="true" class="halfStyle" data-content="' + chars[i] + '">' + chars[i] + '</span>';
    }

    // Write to DOM only once
    $el.append(output);
  });
});</code>
Salin selepas log masuk

CSS:

<code class="css">.halfStyle {
    position: relative;
    display: inline-block;
    font-size: 80px; /* or any font size will work */
    color: black; /* or transparent, any color */
    overflow: hidden;
    white-space: pre; /* to preserve the spaces from collapsing */
}

.halfStyle:before {
    display: block;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    content: attr(data-content); /* dynamic content for the pseudo element */
    overflow: hidden;
    color: #f00;
}</code>
Salin selepas log masuk

Contoh Penggunaan :

<code class="html"><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<p>Single Characters:</p>
<span class="halfStyle" data-content="X">X</span>
<span class="halfStyle" data-content="Y">Y</span>
<span class="halfStyle" data-content="Z">Z</span>
<span class="halfStyle" data-content="A">A</span>

<hr/>
<p>Automated:</p>

<span class="textToHalfStyle">Half-style, please.</span></code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bolehkah CSS Menggayakan Separuh daripada Watak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan