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
308 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!

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