Efecto del esquema al texto

329

¿Hay alguna forma en CSS para dar contornos al texto con diferentes colores? Quiero resaltar algunas partes de mi texto para hacerlo más intuitivo, como los nombres, enlaces, etc. Cambiar los colores de los enlaces, etc., son comunes hoy en día, por lo que quiero algo nuevo.

Mac
fuente
17
@Dan Better implica diferente. Su consejo es generalmente bueno, pero también puede sofocar la experimentación creativa. Además, generalmente no es "común = bueno" ... más bien, es "común = apenas lo suficientemente bueno".
Konrad Rudolph
77
@Dan Grossman: el mundo evoluciona a partir de nuevas ideas, no todo lo nuevo es despreciable.
yoda
77
@yoda Su sintaxis es inusual. / EDITAR no importa, te confundió con otra persona ... pequeño amigo verde.
Konrad Rudolph
¿Puede describir lo que necesita con más detalle? No estoy exactamente seguro de lo que quieres decir cuando dices que quieres 'dar contornos al texto con diferentes colores'
Yi Jiang
1
posible duplicado de CSS Font Border?
Adam Jensen

Respuestas:

453

Hay una propiedad experimental de webkit llamada text-strokeen CSS3, he estado tratando de hacer que esto funcione por algún tiempo, pero hasta ahora no he tenido éxito.

Lo que he hecho en su lugar es usar la text-shadowpropiedad ya admitida (compatible con Chrome, Firefox, Opera e IE 9, creo).

Use cuatro sombras para simular un texto con trazos:

.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>

He hecho una demostración para ti aquí

Y un ejemplo suspendido está disponible aquí


Como Jason C ha mencionado en los comentarios, la text-shadowpropiedad CSS ahora es compatible con todos los principales navegadores, con la excepción de Opera Mini. Donde esta solución funcionará para la compatibilidad con versiones anteriores (no es realmente un problema con respecto a los navegadores que se actualizan automáticamente), creo text-strokeque se debe usar el CSS.

Kyle
fuente
12
Lamentablemente, IE no es compatible text-shadowhasta IE10. Curiosamente, IE9 es compatible box-shadowpero no text-shadow.
Web_Designer
14
Aquí hay un resumen de la compatibilidadtext-shadow del navegador para . Parece que actualmente (3 años después de la publicación de esta respuesta) es compatible con todos los principales navegadores, con la excepción de Opera Mini, que muestra "soporte parcial" (ignora blur-radius).
Jason C
3
Esto agrega un efecto más delgado:text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
BeauCielBleu
29
Nombre de clase impresionante
ciudadano conn
44
Jason C señaló text-shadowapoyo, no text-stroke. Que solo es compatible con webkit en este momento.
Gregoire D.
100

Editar: text-stroke ahora es bastante maduro e implementado en la mayoría de los navegadores . Es más fácil, más nítido y más preciso. Si la audiencia de su navegador puede admitirlo, ahora debe usarlo text-strokeprimero, en lugar de text-shadow.


Puede y debe hacer esto solo con el text-shadowefecto sin ninguna compensación:

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

¿Por qué? Cuando compensas múltiples efectos de sombra, comenzarás a notar esquinas irregulares e irregulares: Las compensaciones del efecto de sombra dan como resultado esquinas irregulares notables.


tener efectos de sombra de texto en una sola posición elimina los desplazamientos, lo que significa que si sientes que es demasiado delgado y preferirías un contorno más oscuro, no hay problema. puede repetir el mismo efecto (manteniendo la misma posición y desenfoque), varias veces. Al igual que:

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;

Aquí hay una muestra de un solo efecto (arriba), y el mismo efecto repetido 14 veces (abajo):


Texto de muestra representado con text-shadow

También tenga en cuenta: Debido a que las líneas se vuelven tan delgadas, es una muy buena idea desactivar el procesamiento de subpíxeles con
-webkit-font-smoothing: antialiased.

ancestral
fuente
Interesante respuesta, gracias. Sin embargo, realmente no entiendo lo que quieres decir con 'repetir' el efecto.
edzillion
Gracias por la font-smoothingopción, ¡mejoró enormemente la salida en cromo!
Meki
1
Observo el comentario agregado a la respuesta de que el texto-trazo ahora es compatible con la mayoría de los navegadores, pero caniuse todavía (agosto de 2016) lo muestra como no compatible en todas las versiones de IE y Edge, y necesita -webkit-text-stroke con el diseño Indicador .css.prefixes.webkit habilitado en Firefox. Creo que no es suficiente el apoyo generalizado para sitios públicos en general.
Nick Rice
1
Creo que repetir 14 veces una sombra de texto podría tener algún problema de rendimiento. Especialmente cuando se desplaza en el móvil.
kaosmos
2
AFAIK text-strokeno es lo mismo que esquema a través de text-shadow. text-strokeno tiene ninguna opción para hacer que el contorno aparezca fuera del texto, lo que significa que el contorno se desvanece en el texto, lo que a menudo se ve realmente horrible. En otras palabras, text-strokeno es un reemplazo text-shadowpara los contornos
gman
90

¡Fácil! SVG al rescate.

Este es un método simplificado:

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>

Aquí hay una demostración más compleja .

vsync
fuente
66
Esta es una gran solución y no tiene ninguno de los problemas de rendimiento asociados con la sombra de texto. La diferencia en el rendimiento entre este enfoque y el apilamiento de múltiples sombras de texto es enorme para mi aplicación particular (IE 10 en pantallas grandes).
djskinner
3
Esto me dio un efecto mucho mejor que las sombras de texto, porque necesitaba una línea gruesa. ¡Gracias!
Andrea
2
¡Eso es oro puro! Enfoque muy profesional y experto, perfecto respondió la pregunta! Esta solución está por delante del W3 Council o Google o lo que sea, ¡felicidades!
Heitor
Esta solución también habría sido perfecta para mí si no hubiera agregado el trazo a un área de texto :(
Brandito
36

Puede intentar apilar varias sombras borrosas hasta que las sombras se vean como un trazo, así:

.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;
}

Aquí hay un violín: http://jsfiddle.net/GGUYY/

Lo menciono por si alguien está interesado, aunque no lo llamaría una solución porque falla de varias maneras:

  • no funciona en IE antiguo
  • se presenta de manera bastante diferente en cada navegador
  • aplicar tantas sombras es muy pesado de procesar: S
brohr
fuente
1
¡Esta es una idea realmente simple y brillante!
1
Gracias, el problema con esto es el rendimiento, sin embargo,
úselo
1
Esto es fantástico. Las capas adicionales de sombreado realmente le agregan algo de profundidad, y funciona en IE11, FF36 y Chrome 41.
RockiesMagicNumber
17

Estaba buscando una solución de trazo de texto en el navegador que funciona cuando se superpone en imágenes de fondo. Creo que tengo una solución para esto que no implica un marcado adicional, js y funciona en IE7-9 (no he probado 6), y no causa problemas de alias.

Esta es una combinación del uso de CSS3 text-shadow, que tiene un buen soporte excepto IE ( http://caniuse.com/#search=text-shadow ), y luego usar una combinación de filtros para IE. El soporte de trazo de texto CSS3 es pobre en este momento.

Filtros IE

El filtro de brillo ( http://www.impressivewebs.com/css3-text-shadow-ie/ ) se ve terrible, así que no lo usé.

La respuesta de David Hewitt implicó agregar filtros de sombra en una combinación de direcciones. ClearType luego se elimina desafortunadamente, por lo que terminamos con texto mal alias.

Luego combiné algunos de los elementos sugeridos en useragentman con los filtros de sombra.

Poniendo todo junto

Este ejemplo sería texto negro con un trazo blanco. Estoy usando clases html condicionales por cierto para dirigirme a 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;
}
crdunst
fuente
Esto también funciona en IE más antiguo:filter: glow(color=white,strength=1);
mch
16

Solo agrego esta respuesta. "Acariciar" el texto no es lo mismo que "Esbozar"

Esbozar se ve muy bien. Acariciar se ve horrible.

La solución SVG que aparece en otra parte tiene el mismo problema. De que quieres un bosquejo , debe colocar el texto dos veces. Una vez acariciado y nuevamente no acariciado.

Acariciar NO ES ESQUEMA

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>

PD: Me encantaría saber cómo hacer que el SVG tenga el tamaño correcto de cualquier texto arbitrario. Tengo la sensación de que es bastante complicado involucrar generar el svg, consultarlo con JavaScript para obtener la extensión y luego aplicar los resultados. Si hay una manera más fácil que no sea js, me encantaría saber.

gman
fuente
1
Excelente, este es el método correcto, esbozar, no acariciar. Funciona maravillosamente y es limpio y agradable a la vista.
MitchellK
7

Obtuve mejores resultados con 6 sombras diferentes:

.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;
}
surajck
fuente
Quería una sombra más grande y tuve que agregar un par de líneas adicionales ... 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>

Aashish
fuente
6

Este mixin para SASS dará resultados suaves, utilizando 8 ejes:

@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;
}

Y 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;
Ryall
fuente
4

Trabajar con trazos más gruesos se vuelve un poco complicado, si tiene el placer de probar sass este mixin, no es perfecto y, dependiendo del peso del trazo, genera una buena cantidad de css.

 @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;
}
evo_rob
fuente
1
Este mixin no funcionó para mí, pero este sí lo hizo: gist.github.com/nathggns/2984123
akirk
0

Múltiples sombras de texto.
Algo así:

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);

Demostración: http://jsfiddle.net/punosound/gv6zs58m/

punosound
fuente
0

Generador de sombras de texto

Hay muchas respuestas geniales aquí. Parece que la sombra de texto es probablemente la forma más confiable de hacer esto. No entraré en detalles acerca de cómo hacer esto con text-shadow ya que otros ya lo han hecho, pero la idea básica es crear múltiples sombras de texto alrededor del elemento de texto. Cuanto más grande sea el contorno del texto, más sombras de texto necesitará.

Todas las respuestas enviadas (a partir de esta publicación) proporcionan soluciones estáticas para la sombra de texto. He adoptado un enfoque diferente y he escrito este JSFiddle que acepta valores de color de contorno, desenfoque y ancho como entradas y genera la propiedad de sombra de texto adecuada para su elemento. Simplemente complete los espacios en blanco, verifique la vista previa y haga clic para copiar el CSS y pegarlo en su hoja de estilo.


Apéndice innecesario

Aparentemente, las respuestas que incluyen un enlace a un JSFiddle no se pueden publicar a menos que también contengan código. Puede ignorar por completo este apéndice si lo desea. Este es el JavaScript de mi violín que genera la propiedad de sombra de texto. Tenga en cuenta que no necesita implementar este código en sus propios trabajos:

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;
}
b_laoshi
fuente
-2

También tuve este problema, y text-shadowno era una opción porque las esquinas se verían mal (a menos que tuviera muchas sombras), y no quería ningún desenfoque, por lo tanto, mi única otra opción era hacer lo siguiente: Tener 2 divs, y para el div de fondo, coloque un -webkit-text-strokesobre, que luego permita un contorno tan grande como desee.

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>  

Usando esto, pude lograr una línea de salida , porque el stroke-widthmétodo no era una opción si desea que su texto permanezca legible con un contorno muy grande (porque con stroke-widthel contorno comenzará dentro de las letras, lo que lo hace no legible cuando el ancho se hace más grande que las letras.

Nota: la razón por la que necesitaba un esquema tan grueso era que estaba emulando las etiquetas de las calles en "google maps" y quería un gran halo blanco alrededor del texto. Esta solución funcionó perfectamente para mí.

Aquí hay un violín que muestra esta solución

ingrese la descripción de la imagen aquí

Jared
fuente
-15

Aquí está el archivo CSS, espero que obtengas lo que quieras

/* ----- 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 - - - */
usuario3131300
fuente
99
Por favor, explique su solución. Incluso si funciona, no tenemos idea de cómo usarlo.
Patrick Hofman
3
Espero que las soluciones correctas no tengan que tomar 200 líneas de CSS.
dardub
2
Esta respuesta literalmente no tiene ningún sentido.
superluminary