Menguraikan efek ke teks


329

Apakah ada cara di CSS untuk memberikan garis besar pada teks dengan warna yang berbeda? Saya ingin menyorot beberapa bagian teks saya untuk membuatnya lebih intuitif - seperti nama, tautan, dll. Mengubah warna tautan dll. Sudah umum saat ini, jadi saya ingin sesuatu yang baru.


17
@Dan Lebih baik menyiratkan berbeda. Nasihat Anda umumnya baik tetapi juga dapat menghambat percobaan kreatif. Selain itu, biasanya tidak "umum = baik" ... melainkan, "umum = hampir tidak cukup baik".
Konrad Rudolph

7
@Dan Grossman: dunia berevolusi dari ide-ide baru, tidak semua yang baru tercela.
yoda

7
@yoda Sintaks Anda tidak biasa. / EDIT sudahlah, bingung kamu dengan orang lain ... Bung hijau kecil.
Konrad Rudolph

Bisakah Anda menggambarkan apa yang Anda butuhkan dengan lebih detail. Saya tidak begitu yakin apa yang Anda maksud ketika Anda mengatakan bahwa Anda ingin 'memberikan garis besar pada teks dengan warna berbeda'
Yi Jiang

1
kemungkinan duplikat Perbatasan Font CSS?
Adam Jensen

Jawaban:


453

Ada properti webkit eksperimental yang disebut text-strokedalam CSS3, saya sudah mencoba untuk membuatnya bekerja selama beberapa waktu tetapi sejauh ini tidak berhasil.

Apa yang saya lakukan sebagai gantinya adalah menggunakan text-shadowproperti yang sudah didukung (didukung di Chrome, Firefox, Opera, dan IE 9 saya percaya).

Gunakan empat bayangan untuk mensimulasikan teks yang dielus:

.strokeme {
  color: white;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
<div class="strokeme">
  This text should have a stroke in some browsers
</div>

Saya telah membuat demo untuk Anda di sini

Dan contoh melayang tersedia di sini


Seperti yang disebutkan Jason C dalam komentar, text-shadowproperti CSS sekarang didukung oleh semua browser utama, dengan pengecualian Opera Mini. Di mana solusi ini akan bekerja untuk kompatibilitas mundur (tidak benar-benar masalah tentang browser yang memperbarui otomatis) Saya percaya text-strokeCSS harus digunakan.


12
Sayangnya, IE tidak mendukung text-shadowhingga IE10. Anehnya, IE9 mendukung box-shadowtetapi tidak text-shadow.
Web_Designer

14
Berikut ringkasan dukungan browser untuktext-shadow . Tampaknya saat ini (3 tahun setelah jawaban ini diposting) itu didukung oleh semua browser utama dengan pengecualian Opera Mini, yang menunjukkan "dukungan parsial" (mengabaikan blur-radius).
Jason C

3
Ini menambahkan efek yang lebih tipis:text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
BeauCielBleu

29
Nama kelas yang luar biasa
warga negara samb

4
Jason C menunjukkan text-shadowdukungan, bukan text-stroke. Yang hanya didukung oleh webkit saat ini.
Gregoire D.

100

Sunting: text-stroke sekarang cukup matang dan diterapkan di sebagian besar browser . Lebih mudah, lebih tajam, dan lebih presisi. Jika audiens browser Anda dapat mendukungnya, Anda sekarang harus menggunakannya text-stroketerlebih dahulu text-shadow.


Anda dapat dan harus melakukan ini hanya dengan text-shadowefek tanpa offset:

.outline {
    color: #fff;
    text-shadow: #000 0px 0px 1px;
    -webkit-font-smoothing: antialiased;
}

Mengapa? Ketika Anda mengimbangi beberapa efek bayangan, Anda akan mulai melihat sudut yang tidak rata dan bergerigi: Offset efek bayangan menghasilkan sudut bergerigi yang terlihat.


Memiliki efek bayangan teks hanya dalam satu posisi menghilangkan offset, artinya Jika Anda merasa itu terlalu tipis dan lebih memilih garis yang lebih gelap, tidak masalah - Anda - dapat mengulangi efek yang sama (menjaga posisi dan blur yang sama), beberapa kali. Seperti itu:

text-shadow: #000 0px 0px 1px,   #000 0px 0px 1px,   #000 0px 0px 1px,
             #000 0px 0px 1px,   #000 0px 0px 1px,   #000 0px 0px 1px;

Berikut ini contoh hanya satu efek (atas), dan efek yang sama diulang 14 kali (bawah):


Contoh teks yang dirender dengan teks-bayangan

Perhatikan juga: Karena garisnya menjadi sangat tipis, sebaiknya matikan rendering sub-piksel
-webkit-font-smoothing: antialiased.


Jawaban yang menarik, terima kasih. Saya tidak benar-benar mengerti apa yang Anda maksud dengan 'mengulangi' efeknya.
edzillion

Terima kasih untuk font-smoothingopsinya, itu sangat meningkatkan output di chrome!
Meki

1
Saya perhatikan komentar yang ditambahkan ke jawaban bahwa stroke teks sekarang didukung di sebagian besar browser, tetapi caniuse masih (Agustus 2016) menunjukkannya sebagai tidak didukung di semua versi IE dan Edge, dan membutuhkan -webkit-text-stroke dengan tata letak Bendera .css.prefixes.webkit diaktifkan di Firefox. Methinks yang tidak cukup luas mendukung untuk situs umum.
Nick Rice

1
Saya pikir mengulangi 14 kali bayangan teks dapat memiliki beberapa masalah kinerja. Terutama saat menggulir di ponsel.
kaosmos

2
AFAIK text-stroketidak sama dengan garis besar via text-shadow. text-stroketidak memiliki opsi untuk membuat garis besar muncul di luar teks yang berarti garis besar mengalir ke teks sehingga sering terlihat sangat mengerikan. Dengan kata lain text-strokebukan pengganti text-shadowuntuk garis besar
gman

90

Mudah! SVG untuk menyelamatkan.

Ini adalah metode yang disederhanakan:

svg{
  font: bold 70px Century Gothic, Arial;
  width: 100%;
  height: 120px;
}

text{
  fill: none;
  stroke: black;
  stroke-width:0.5px;
  // stroke-dasharray: 2,2;
  stroke-linejoin: round;
  animation: 2s pulsate infinite;
}

@keyframes pulsate {
  50%{ stroke-width:4px; }
}
<svg viewBox="0 0 450 50">
  <text y="40">Scalable Title</text>
</svg>

Ini demo yang lebih kompleks .


6
Ini adalah solusi hebat dan tidak memiliki masalah kinerja yang terkait dengan teks-bayangan. Perbedaan kinerja antara pendekatan ini dan menumpuk banyak teks-bayangan sangat besar untuk aplikasi khusus saya (IE 10 pada tampilan layar besar).
djskinner

3
Ini memberi saya efek yang jauh lebih baik daripada bayangan teks, karena saya membutuhkan garis tebal. Terima kasih!
Andrea

2
Itu dude emas murni !! Pendekatan yang sangat profesional dan terampil, sempurna menjawab pertanyaan! Solusi ini ada di depan Dewan W3 atau Google atau apa pun, selamat!
Heitor

Solusi ini akan sangat cocok untuk saya juga jika saya tidak menambahkan stroke ke textarea :(
Brandito

36

Anda dapat mencoba menumpuk beberapa bayangan buram sampai bayangan terlihat seperti goresan, seperti:

.shadowOutline {
  text-shadow: 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black, 0 0 4px black;
}

Berikut biola: http://jsfiddle.net/GGUYY/

Saya menyebutkannya kalau-kalau ada yang tertarik, meskipun saya tidak akan menyebutnya solusi karena gagal dalam berbagai cara:

  • itu tidak berfungsi di IE lama
  • itu membuat sangat berbeda di setiap browser
  • menerapkan begitu banyak bayangan sangat berat untuk diproses: S

1
Ini ide yang sangat sederhana dan brilian!

1
Terima kasih, masalah dengan ini adalah kinerja, gunakan dengan hati-hati :)
brohr

1
Ini fantastis. Lapisan tambahan bayangan benar-benar menambah kedalaman, dan itu bekerja di IE11, FF36, dan Chrome 41.
RockiesMagicNumber

17

Saya mencari solusi teks-stroke lintas-browser yang berfungsi ketika overlay pada gambar latar belakang. pikir saya punya solusi untuk ini yang tidak melibatkan mark-up tambahan, js dan bekerja di IE7-9 (saya belum menguji 6), dan tidak menyebabkan masalah alias.

Ini adalah kombinasi dari menggunakan CSS3 text-shadow, yang memiliki dukungan baik kecuali IE ( http://caniuse.com/#search=text-shadow ), kemudian menggunakan kombinasi filter untuk IE. Dukungan teks-stroke CSS3 saat ini buruk.

Filter IE

Filter cahaya ( http://www.impressivewebs.com/css3-text-shadow-ie/ ) tampak mengerikan, jadi saya tidak menggunakannya.

Jawaban David Hewitt melibatkan penambahan filter dropshadow dalam kombinasi arah. Sayangnya ClearType dihapus jadi kami berakhir dengan teks dengan alias buruk.

Saya kemudian menggabungkan beberapa elemen yang disarankan useragentman dengan filter dropshadow.

Menyatukannya

Contoh ini akan menjadi teks hitam dengan goresan putih. Saya menggunakan kelas html bersyarat dengan cara menargetkan IE ( http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ ).

#myelement {
    color: #000000;
    text-shadow:
    -1px -1px 0 #ffffff,  
    1px -1px 0 #ffffff,
    -1px 1px 0 #ffffff,
    1px 1px 0 #ffffff;
}

html.ie7 #myelement,
html.ie8 #myelement,
html.ie9 #myelement {
    background-color: white;
    filter: progid:DXImageTransform.Microsoft.Chroma(color='white') progid:DXImageTransform.Microsoft.Alpha(opacity=100) progid:DXImageTransform.Microsoft.dropshadow(color=#ffffff,offX=1,offY=1) progid:DXImageTransform.Microsoft.dropshadow(color=#ffffff,offX=-1,offY=1) progid:DXImageTransform.Microsoft.dropshadow(color=#ffffff,offX=1,offY=-1) progid:DXImageTransform.Microsoft.dropshadow(color=#ffffff,offX=-1,offY=-1);
    zoom: 1;
}

Ini juga berfungsi di IE yang lebih lama:filter: glow(color=white,strength=1);
mch

16

Hanya menambahkan jawaban ini. "Membelai" teks tidak sama dengan "Menguraikan"

Garis besar tampak hebat. Membelai terlihat mengerikan.

Solusi SVG yang terdaftar di tempat lain memiliki masalah yang sama. Tentu Anda ingin garis besar Anda perlu menempatkan teks dua kali. Sekali dielus dan lagi tidak dielus.

Membelai BUKAN menguraikan

body {
  font-family: sans-serif;
  margin: 20px;
}

.stroked {
  color: white;
  -webkit-text-stroke: 1px black;
}

.thickStroked {
  color: white;
  -webkit-text-stroke: 10px black;
}

.outlined {
  color: white;
  text-shadow:
    -1px -1px 0 #000,
     0   -1px 0 #000,
     1px -1px 0 #000,
     1px  0   0 #000,
     1px  1px 0 #000,
     0    1px 0 #000,
    -1px  1px 0 #000,
    -1px  0   0 #000;
}

.thickOutlined {
  color: white;
text-shadow: 0.0px 10.0px 0.02px #000, 9.8px 2.1px 0.02px #000, 4.2px -9.1px 0.02px #000, -8.0px -6.0px 0.02px #000, -7.6px 6.5px 0.02px #000, 4.8px 8.8px 0.02px #000, 9.6px -2.8px 0.02px #000, -0.7px -10.0px 0.02px #000, -9.9px -1.5px 0.02px #000, -3.5px 9.4px 0.02px #000, 8.4px 5.4px 0.02px #000, 7.1px -7.0px 0.02px #000, -5.4px -8.4px 0.02px #000, -9.4px 3.5px 0.02px #000, 1.4px 9.9px 0.02px #000, 10.0px 0.8px 0.02px #000, 2.9px -9.6px 0.02px #000, -8.7px -4.8px 0.02px #000, -6.6px 7.5px 0.02px #000, 5.9px 8.0px 0.02px #000, 9.1px -4.1px 0.02px #000, -2.1px -9.8px 0.02px #000, -10.0px -0.1px 0.02px #000, -2.2px 9.8px 0.02px #000, 9.1px 4.2px 0.02px #000, 6.1px -8.0px 0.02px #000, -6.5px -7.6px 0.02px #000, -8.8px 4.7px 0.02px #000, 2.7px 9.6px 0.02px #000, 10.0px -0.6px 0.02px #000, 1.5px -9.9px 0.02px #000, -9.3px -3.6px 0.02px #000, -5.5px 8.4px 0.02px #000, 7.0px 7.2px 0.02px #000, 8.5px -5.3px 0.02px #000, -3.4px -9.4px 0.02px #000, -9.9px 1.3px 0.02px #000, -0.8px 10.0px 0.02px #000, 9.6px 2.9px 0.02px #000, 4.9px -8.7px 0.02px #000, -7.5px -6.7px 0.02px #000, -8.1px 5.9px 0.02px #000, 4.0px 9.2px 0.02px #000, 9.8px -2.0px 0.02px #000, 0.2px -10.0px 0.02px #000, -9.7px -2.3px 0.02px #000, -4.3px 9.0px 0.02px #000, 7.9px 6.1px 0.02px #000
}

svg {
  font-size: 40px;
  font-weight: bold;
  width: 450px;
  height: 70px;
  fill: white;
}

.svgStroke {
  fill: white;
  stroke: black;
  stroke-width: 20px;
  stroke-linejoin: round;
}
<h1 class="stroked">Properly stroked!</h1>
<h1 class="outlined">Properly outlined!</h1>

<h1 class="thickStroked">Thickly stroked!</h1>
<h1 class="thickOutlined">Thickly outlined!</h1>

<svg viewBox="0 0 450 70">
  <text class="svgStroke" x="10" y="45">SVG Thickly Stroked!</text>
</svg>
<svg viewBox="0 0 450 70">
  <text class="svgStroke" x="10" y="45">SVG Thickly Outlined!</text>
  <text class="svgText" x="10" y="45">SVG Thickly Outlined!</text>
</svg>

PS: Saya ingin tahu bagaimana membuat SVG menjadi ukuran yang benar dari sembarang teks. Saya merasa cukup rumit melibatkan pembuatan svg, menanyakannya dengan javascript untuk mendapatkan luasan kemudian menerapkan hasilnya. Jika ada cara non-js mudah saya ingin tahu.


1
Luar biasa ini adalah metode yang benar, menguraikan, tidak membelai. Bekerja dengan indah dan rapi dan mudah di mata.
MitchellK

7

Saya mendapat hasil yang lebih baik dengan 6 bayangan berbeda:

.strokeThis{
    text-shadow:
    -1px -1px 0 #ff0,
    0px -1px 0 #ff0,
    1px -1px 0 #ff0,
    -1px 1px 0 #ff0,
    0px 1px 0 #ff0,
    1px 1px 0 #ff0;
}

Saya ingin bayangan yang lebih besar, dan harus menambahkan beberapa baris tambahan .... 3px 0px 0 # 343a7e, -3px 0px 0 # 343a7e
Jayden Lawson

7

h1 {
   color: black;
   -webkit-text-fill-color: white; /* Will override color (regardless of order) */
   -webkit-text-stroke-width: 1px;
   -webkit-text-stroke-color: black;
}
<h1>Properly stroked!</h1>


6

Mixin ini untuk SASS akan memberikan hasil yang halus, menggunakan 8-axis:

@mixin stroke($size: 1px, $color: #000) {
  text-shadow:
    -#{$size} -#{$size} 0 $color,
     0        -#{$size} 0 $color,
     #{$size} -#{$size} 0 $color,
     #{$size}  0        0 $color,
     #{$size}  #{$size} 0 $color,
     0         #{$size} 0 $color,
    -#{$size}  #{$size} 0 $color,
    -#{$size}  0        0 $color;
}

Dan CSS normal:

text-shadow:
  -1px -1px 0 #000,
   0   -1px 0 #000,
   1px -1px 0 #000,
   1px  0   0 #000,
   1px  1px 0 #000,
   0    1px 0 #000,
  -1px  1px 0 #000,
  -1px  0   0 #000;

4

Bekerja dengan sapuan yang lebih tebal menjadi sedikit berantakan, jika Anda senang mencoba ini, tidak cocok dan tergantung pada berat stroke menghasilkan css yang cukup banyak.

 @mixin stroke($width, $colour: #000000) {
      $shadow: 0 0 0 $colour; // doesn't do anything but I couldn't work out how to create a blank string and maintain commas
      @for $i from 0 through $width {
          $shadow: $shadow,
          -$i + px -$width + px 0 $colour,
          $i + px -$width + px 0 $colour,
          -$i + px $width + px 0 $colour,
          $i + px $width + px 0 $colour,
          -$width + px -$i + px 0 $colour,
          $width + px -$i + px 0 $colour,
          -$width + px $i + px 0 $colour,
          $width + px $i + px 0 $colour,
      }
      text-shadow: $shadow;
}

1
Mixin ini tidak berfungsi untuk saya tetapi yang ini berhasil: gist.github.com/nathggns/2984123
akirk

0

Beberapa bayangan teks ..
Sesuatu seperti ini:

var steps = 10,
    i,
    R = 0.6,
    x,
    y,
    theStyle = '1vw 1vw 3vw #005dab';
for (i = -steps; i <= steps; i += 1) {
    x = (i / steps) / 2;
    y = Math.sqrt(Math.pow(R, 2) - Math.pow(x, 2));
    theStyle = theStyle + ',' + x.toString() + 'vw ' + y.toString() + 'vw 0 #005dab';
    theStyle = theStyle + ',' + x.toString() + 'vw -' + y.toString() + 'vw 0 #005dab';
    theStyle = theStyle + ',' + y.toString() + 'vw ' + x.toString() + 'vw 0 #005dab';
    theStyle = theStyle + ',-' + y.toString() + 'vw ' + x.toString() + 'vw 0 #005dab';
}
document.getElementsByTagName("H1")[0].setAttribute("style", "text-shadow:" + theStyle);

Demo: http://jsfiddle.net/punosound/gv6zs58m/


0

Text Shadow Generator

Ada banyak jawaban bagus di sini. Akan muncul text-shadow mungkin cara yang paling dapat diandalkan untuk melakukan ini. Saya tidak akan menjelaskan secara terperinci tentang cara melakukan ini dengan text-shadow karena yang lain sudah melakukannya, tetapi ide dasarnya adalah Anda membuat beberapa bayangan teks di sekitar elemen teks. Semakin besar garis teks, semakin banyak bayangan teks yang Anda butuhkan.

Semua jawaban yang dikirimkan (pada posting ini) memberikan solusi statis untuk bayangan teks. Saya telah mengambil pendekatan yang berbeda dan telah menulis JSFiddle ini yang menerima nilai warna garis, kabur, dan lebar sebagai input dan menghasilkan properti bayangan teks yang sesuai untuk elemen Anda. Cukup isi bagian yang kosong, periksa pratinjau, dan klik untuk menyalin css dan rekatkan ke lembar gaya Anda.


Lampiran yang tidak perlu

Rupanya, jawaban yang menyertakan tautan ke JSFiddle tidak dapat diposkan kecuali mereka juga mengandung kode. Anda dapat sepenuhnya mengabaikan lampiran ini jika Anda mau. Ini adalah JavaScript dari biola saya yang menghasilkan properti teks-bayangan. Harap dicatat bahwa Anda tidak perlu menerapkan kode ini dalam karya Anda sendiri:

function computeStyle() {
    var width = document.querySelector('#outline-width').value;
  width = (width === '') ? 0 : Number.parseFloat(width);
  var blur = document.querySelector('#outline-blur').value;
  blur = (blur === '') ? 0 : Number.parseFloat(blur);
  var color = document.querySelector('#outline-color').value;
  if (width < 1 || color === '') {
    document.querySelector('.css-property').innerText = '';
    return;
  }
    var style = 'text-shadow: ';
  var indent = false;
    for (var i = -1 * width; i <= width; ++i) {
    for (var j = -1 * width; j <= width; ++j) {
        if (! (i === 0 && j === 0 && blur === 0)) {
        var indentation = (indent) ? '\u00a0\u00a0\u00a0\u00a0' : '';
            style += indentation + i + "px " + j + "px " + blur + "px " + color + ',\n';
        indent = true;
      }
    }
  }
  style = style.substring(0, style.length - 2) + '\n;';
  document.querySelector('.css-property').innerText = style;

  var exampleBackground = document.querySelector('#example-bg');
  var exampleText = document.querySelector('#example-text');
  exampleBackground.style.backgroundColor = getOppositeColor(color);
  exampleText.style.color = getOppositeColor(color);
  var textShadow = style.replace(/text-shadow: /, '').replace(/\n/g, '').replace(/.$/, '').replace(/\u00a0\u00a0\u00a0\u00a0/g, '');
  exampleText.style.textShadow = textShadow;
}

-2

Saya memiliki masalah ini juga, dan text-shadowitu bukan pilihan karena sudut akan terlihat buruk (kecuali saya memiliki banyak bayangan), dan saya tidak ingin ada blur, oleh karena itu satu-satunya pilihan saya adalah melakukan hal berikut: 2 div, dan untuk div latar belakang, letakkan -webkit-text-strokedi atasnya, yang kemudian memungkinkan untuk garis besar yang Anda inginkan.

div {
  font-size: 200px;
  position: absolute;
  white-space: nowrap;
}

.front {
 color: blue;
}

.outline {
  -webkit-text-stroke: 30px red;
  user-select: none;
}
<div class="outline">
 outline text
</div>

<div class="front">
 outline text
</div>  

Dengan menggunakan ini, saya dapat mencapai garis keluar , karena stroke-widthmetode itu bukan pilihan jika Anda ingin teks Anda tetap terbaca dengan garis besar yang sangat besar (karena dengan stroke-widthgaris besar akan mulai di dalam huruf yang membuatnya tidak terbaca ketika lebar menjadi lebih besar dari surat-surat.

Catatan: alasan saya membutuhkan garis besar seperti itu adalah saya meniru label jalan di "google maps" dan saya ingin lingkaran putih tebal di sekitar teks. Solusi ini bekerja dengan sempurna untuk saya.

Berikut ini biola yang menunjukkan solusi ini

masukkan deskripsi gambar di sini


-15

Ini adalah file CSS harap Anda akan mendapatkan apa yang Anda inginkan

/* ----- Logo ----- */

#logo a {
    background-image:url('../images/wflogo.png'); 
    min-height:0;
    height:40px;
    }
* html #logo a {/* IE6 png Support */
    background-image: none;
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../images/wflogo.png", sizingMethod="crop");
}

/* ----- Backgrounds ----- */
html{
    background-image:none;  background-color:#336699;
}
#logo{
    background-image:none;  background-color:#6699cc;
}
#container, html.embed{
    background-color:#FFFFFF;
}
.safari .wufoo input.file{
    background:none;
    border:none;
}

.wufoo li.focused{
    background-color:#FFF7C0;
}
.wufoo .instruct{
    background-color:#F5F5F5;
}

/* ----- Borders ----- */
#container{
    border:0 solid #cccccc;
}
.wufoo .info, .wufoo .paging-context{
    border-bottom:1px dotted #CCCCCC;
}
.wufoo .section h3, .wufoo .captcha, #payment .paging-context{
    border-top:1px dotted #CCCCCC;
}
.wufoo input.text, .wufoo textarea.textarea{

}
.wufoo .instruct{
    border:1px solid #E6E6E6;
}
.fixed .info{
    border-bottom:none;
}
.wufoo li.section.scrollText{
    border-color:#dedede;
}

/* ----- Typography ----- */
.wufoo .info h2{
    font-size:160%;
    font-family:inherit;
    font-style:normal;
    font-weight:normal;
    color:#000000;
}
.wufoo .info div{
    font-size:95%;
    font-family:inherit;
    font-style:normal;
    font-weight:normal;
    color:#444444;
}
.wufoo .section h3{
    font-size:110%;
    font-family:inherit;
    font-style:normal;
    font-weight:normal;
    color:#000000;
}
.wufoo .section div{
    font-size:85%;
    font-family:inherit;
    font-style:normal;
    font-weight:normal;
    color:#444444;
}

.wufoo label.desc, .wufoo legend.desc{
    font-size:95%;
    font-family:inherit;
    font-style:normal;
    font-weight:bold;
    color:#444444;
}

.wufoo label.choice{
    font-size:100%;
    font-family:inherit;
    font-style:normal;
    font-weight:normal;
    color:#444444;
}
.wufoo input.text, .wufoo textarea.textarea, .wufoo input.file, .wufoo select.select{
    font-style:normal;
    font-weight:normal;
    color:#333333;
    font-size:100%;
}
{* Custom Fonts Break Dropdown Selection in IE *}
.wufoo input.text, .wufoo textarea.textarea, .wufoo input.file{ 
    font-family:inherit;
}


.wufoo li div, .wufoo li span, .wufoo li div label, .wufoo li span label{
    font-family:inherit;
    color:#444444;
}
.safari .wufoo input.file{ /* Webkit */
    font-size:100%;
    font-family:inherit;
    color:#444444;
}
.wufoo .instruct small{
    font-size:80%;
    font-family:inherit;
    font-style:normal;
    font-weight:normal;
    color:#444444;
}

.altInstruct small, li.leftHalf small, li.rightHalf small,
li.leftThird small, li.middleThird small, li.rightThird small,
.iphone small{
    color:#444444 !important;
}

/* ----- Button Styles ----- */

.wufoo input.btTxt{

}

/* ----- Highlight Styles ----- */

.wufoo li.focused label.desc, .wufoo li.focused legend.desc,
.wufoo li.focused div, .wufoo li.focused span, .wufoo li.focused div label, .wufoo li.focused span label,
.safari .wufoo li.focused input.file{ 
    color:#000000;
}

/* ----- Confirmation ----- */

.confirm h2{
    font-family:inherit;
    color:#444444;
}
a.powertiny b, a.powertiny em{
    color:#1a1a1a !important;
}
.embed a.powertiny b, .embed a.powertiny em{
    color:#1a1a1a !important;
}

/* ----- Pagination ----- */

.pgStyle1 var, .pgStyle2 var, .pgStyle2 em, .page1 .pgStyle2 var, .pgStyle1 b, .wufoo .buttons .marker{
    font-family:inherit;
    color:#444444;
}
.pgStyle1 var, .pgStyle2 td{
    border:1px solid #cccccc;
}
.pgStyle1 .done var{
    background:#cccccc;
}

.pgStyle1 .selected var, .pgStyle2 var, .pgStyle2 var em{
    background:#FFF7C0;
    color:#000000;
}
.pgStyle1 .selected var{
    border:1px solid #e6dead;
}


/* Likert Backgrounds */

.likert table{
    background-color:#FFFFFF;
}
.likert thead td, .likert thead th{
    background-color:#e6e6e6;
}
.likert tbody tr.alt td, .likert tbody tr.alt th{
    background-color:#f5f5f5;
}

/* Likert Borders */

.likert table, .likert th, .likert td{
    border-color:#dedede;
}
.likert td{
    border-left:1px solid #cccccc;
}

/* Likert Typography */

.likert caption, .likert thead td, .likert tbody th label{
    color:#444444;
    font-family:inherit;
}
.likert tbody td label{
    color:#575757;
    font-family:inherit;
}
.likert caption, .likert tbody th label{
    font-size:95%;
}

/* Likert Hover */

.likert tbody tr:hover td, .likert tbody tr:hover th, .likert tbody tr:hover label{
    background-color:#FFF7C0;
    color:#000000;
}
.likert tbody tr:hover td{
    border-left:1px solid #ccc69a;
}

/* ----- Running Total ----- */

.wufoo #lola{
    background:#e6e6e6;
}
.wufoo #lola tbody td{
    border-bottom:1px solid #cccccc;
}
.wufoo #lola{
    font-family:inherit;
    color:#444444;
}
.wufoo #lola tfoot th{
    color:#696969;
}

/* ----- Report Styles ----- */

.wufoo .wfo_graph h3{
    font-size:95%;
    font-family:inherit;
    color:#444444;
}
.wfo_txt, .wfo_graph h4{
    color:#444444;
}
.wufoo .footer h4{
    color:#000000;
}
.wufoo .footer span{
    color:#444444;
}

/* ----- Number Widget ----- */

.wfo_number{
    background-color:#f5f5f5;
    border-color:#dedede;
}
.wfo_number strong, .wfo_number em{
    color:#000000;
}

/* ----- Chart Widget Border and Background Colors ----- */

#widget, #widget body{
    background:#FFFFFF;
}
.fcNav a.show{
    background-color:#FFFFFF;
    border-color:#cccccc;
}
.fc table{
    border-left:1px solid #dedede;  
}
.fc thead th, .fc .more th{
    background-color:#dedede !important;
    border-right:1px solid #cccccc !important;
}
.fc tbody td, .fc tbody th, .fc tfoot th, .fc tfoot td{
    background-color:#FFFFFF;
    border-right:1px solid #cccccc;
    border-bottom:1px solid #dedede;
}
.fc tbody tr.alt td, .fc tbody tr.alt th, .fc tbody td.alt{
    background-color:#f5f5f5;
}

/* ----- Chart Widget Typography Colors ----- */

.fc caption, .fcNav, .fcNav a{
    color:#444444;
}
.fc tfoot, 
.fc thead th,
.fc tbody th div, 
.fc tbody td.count, .fc .cards tbody td a, .fc td.percent var,
.fc .timestamp span{
    color:#000000;
}
.fc .indent .count{
    color:#4b4b4b;
}
.fc .cards tbody td a span{
    color:#7d7d7d;
}

/* ----- Chart Widget Hover Colors ----- */

.fc tbody tr:hover td, .fc tbody tr:hover th,
.fc tfoot tr:hover td, .fc tfoot tr:hover th{
    background-color:#FFF7C0;
}
.fc tbody tr:hover th div, .fc tbody tr:hover td, .fc tbody tr:hover var,
.fc tfoot tr:hover th div, .fc tfoot tr:hover td, .fc tfoot tr:hover var{
    color:#000000;
}

/* ----- Payment Summary ----- */

.invoice thead th, 
.invoice tbody th, .invoice tbody td,
.invoice tfoot th,
.invoice .total,
.invoice tfoot .last th, .invoice tfoot .last td,
.invoice tfoot th, .invoice tfoot td{
    border-color:#dedede;
}
.invoice thead th, .wufoo .checkNotice{
    background:#f5f5f5;
}
.invoice th, .invoice td{
    color:#000000;
}
#ppSection, #ccSection{
    border-bottom:1px dotted #CCCCCC;
}
#shipSection, #invoiceSection{
    border-top:1px dotted #CCCCCC;
}

/* Drop Shadows */

/* - - - Local Fonts - - - */

/* - - - Responsive - - - */

@media only screen and (max-width: 480px) {
    html{
        background-color:#FFFFFF;
    }
    a.powertiny b, a.powertin em{
        color:#1a1a1a !important;
    }
}

/* - - - Custom Theme - - - */

9
Tolong uraikan solusi Anda. Bahkan jika itu berhasil, kami tidak memiliki petunjuk bagaimana menggunakannya.
Patrick Hofman

3
Saya harap solusi yang tepat tidak harus mengambil 200 baris css.
dardub

2
Jawaban ini benar-benar tidak masuk akal sama sekali.
superluminary
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.