Gliederungseffekt auf Text


329

Gibt es in CSS Möglichkeiten, Text mit unterschiedlichen Farben zu umreißen? Ich möchte einige Teile meines Textes hervorheben, um ihn intuitiver zu gestalten - wie Namen, Links usw. Das Ändern der Linkfarben usw. ist heutzutage üblich, daher möchte ich etwas Neues.


17
@ Dan Better impliziert anders. Ihr Rat ist im Allgemeinen gut, kann aber auch kreatives Experimentieren behindern. Außerdem ist es normalerweise nicht „gewöhnlich = gut“, sondern „gewöhnlich = kaum gut genug“.
Konrad Rudolph

7
@ Dan Grossman: Die Welt entsteht aus neuen Ideen, nicht alles Neue ist verabscheuungswürdig.
Yoda

7
@yoda Deine Syntax ist ungewöhnlich. / EDIT egal, verwechsle dich mit jemand anderem ... kleiner grüner Typ.
Konrad Rudolph

Können Sie genauer beschreiben, was Sie brauchen? Ich bin mir nicht ganz sicher, was Sie meinen, wenn Sie sagen, dass Sie Text mit verschiedenen Farben
Yi Jiang

1
Mögliches Duplikat von CSS Font Border?
Adam Jensen

Antworten:


452

Es gibt eine experimentelle Webkit-Eigenschaft namens text-strokeCSS3. Ich habe versucht, diese Funktion für einige Zeit zum Laufen zu bringen, war aber bisher erfolglos.

Was ich stattdessen getan habe, ist die bereits unterstützte text-shadowEigenschaft (unterstützt in Chrome, Firefox, Opera und IE 9, glaube ich).

Verwenden Sie vier Schatten, um einen gestrichenen Text zu simulieren:

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

Ich habe hier eine Demo für Sie gemacht

Ein schwebendes Beispiel finden Sie hier


Wie Jason C in den Kommentaren erwähnt hat, wird die text-shadowCSS-Eigenschaft jetzt von allen gängigen Browsern mit Ausnahme von Opera Mini unterstützt. Wo diese Lösung aus Gründen der Abwärtskompatibilität funktioniert (kein wirkliches Problem bei Browsern, die automatisch aktualisiert werden), text-strokesollte meines Erachtens das CSS verwendet werden.


12
Leider unterstützt IE nicht text-shadowbis IE10. Seltsamerweise unterstützt IE9 box-shadowaber nicht text-shadow.
Web_Designer

14
Hier ist eine Zusammenfassung der Browserunterstützung fürtext-shadow . Es scheint, dass es derzeit (3 Jahre nach Veröffentlichung dieser Antwort) von allen gängigen Browsern unterstützt wird, mit Ausnahme von Opera Mini, das "teilweise Unterstützung" anzeigt (es wird ignoriert blur-radius).
Jason C

3
Dies fügt einen text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
dünneren

29
Ehrfürchtiger Klassenname
Bürger conn

4
Jason C wies auf text-shadowUnterstützung hin, nicht text-stroke. Was derzeit nur vom Webkit unterstützt wird.
Gregoire D.

100

Bearbeiten: text-stroke ist jetzt ziemlich ausgereift und in den meisten Browsern implementiert . Es ist einfacher, schärfer und präziser. Wenn Ihre Browser-Zielgruppe dies unterstützen kann, sollten Sie jetzt text-strokestatt text-shadow.


Sie können und sollten dies nur mit dem text-shadowEffekt ohne Offsets tun :

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

Warum? Wenn Sie mehrere Schatteneffekte versetzen, werden Sie unansehnliche, gezackte Ecken bemerken: Schatteneffekt-Offsets führen zu merklichen gezackten Ecken.


Wenn Sie Textschatteneffekte nur an einer Position verwenden, werden die Versätze beseitigt. Wenn Sie der Meinung sind, dass dies zu dünn ist und stattdessen einen dunkleren Umriss bevorzugen, ist dies kein Problem kann den gleichen Effekt mehrmals wiederholen (gleiche Position und Unschärfe beibehalten). Wie so:

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;

Hier ist ein Beispiel von nur einem Effekt (oben) und dem gleichen Effekt, der 14 Mal wiederholt wurde (unten):


Beispieltext mit Textschatten gerendert

Beachten Sie auch: Da die Linien so dünn werden, ist es eine sehr gute Idee, das Rendern von Subpixeln mit zu deaktivieren
-webkit-font-smoothing: antialiased.


Interessante Antwort, danke. Ich verstehe nicht wirklich, was Sie unter "Wiederholen" des Effekts verstehen.
Edzillion

Vielen Dank für die font-smoothingOption, es hat die Ausgabe in Chrom stark verbessert!
Meki

1
Ich nehme den Kommentar zur Antwort zur Kenntnis, dass Textstriche jetzt in den meisten Browsern unterstützt werden, aber caniuse zeigt sie immer noch (August 2016) als nicht unterstützt in allen Versionen von IE und Edge an und benötigt -webkit-Textstriche mit dem Layout .css.prefixes.webkit-Flag in Firefox aktiviert. Methoden, die nicht allgemein genug Unterstützung für allgemeine öffentliche Websites bieten.
Nick Rice

1
Ich denke, dass das 14-fache Wiederholen eines Textschattens ein Leistungsproblem haben könnte . Besonders beim Scrollen auf dem Handy.
Kaosmos

2
AFAIK text-strokeist nicht dasselbe wie Gliederung über text-shadow. text-strokeEs gibt keine Möglichkeit, den Umriss außerhalb des Textes erscheinen zu lassen, was bedeutet, dass der Umriss in den Text übergeht und ihn oft wirklich schrecklich aussieht. Mit anderen Worten, es text-strokeist kein Ersatz text-shadowfür Umrisse
gman

90

Einfach! SVG zur Rettung.

Dies ist eine vereinfachte Methode:

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>

Hier ist eine komplexere Demo .


6
Dies ist eine großartige Lösung und weist keine der mit Textschatten verbundenen Leistungsprobleme auf. Der Leistungsunterschied zwischen diesem Ansatz und dem Stapeln mehrerer Textschatten ist für meine spezielle Anwendung (IE 10 auf Großbildschirmen) enorm.
Djskinner

3
Dies gab mir einen viel besseren Effekt als Textschatten, weil ich eine dicke Linie brauchte. Vielen Dank!
Andrea

2
Das ist reines Gold, Alter !! Sehr professioneller und kompetenter Ansatz, perfekt beantwortet die Frage! Diese Lösung liegt vor W3 Council oder Google oder was auch immer, herzlichen Glückwunsch!
Heitor

Diese Lösung wäre auch für mich perfekt gewesen, wenn ich den Strich nicht zu einem Textbereich
hinzugefügt hätte

36

Sie können versuchen, mehrere verwischte Schatten zu stapeln, bis die Schatten wie ein Strich aussehen:

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

Hier ist eine Geige: http://jsfiddle.net/GGUYY/

Ich erwähne es nur für den Fall, dass jemand interessiert ist, obwohl ich es nicht als Lösung bezeichnen würde, weil es auf verschiedene Weise fehlschlägt:

  • es funktioniert nicht im alten IE
  • es wird in jedem Browser ganz anders gerendert
  • Das Anwenden so vieler Schatten ist sehr schwer zu verarbeiten: S.

1
Das ist wirklich eine einfache und brillante Idee!

1
Danke, das Problem dabei ist jedoch die Leistung,
vorsichtig

1
Das ist fantastisch. Die zusätzlichen Schattenebenen verleihen ihm wirklich Tiefe und funktionieren in IE11, FF36 und Chrome 41.
RockiesMagicNumber

17

Ich suchte nach einer browserübergreifenden Text-Strich-Lösung, die funktioniert, wenn Hintergrundbilder überlagert werden. Ich glaube, ich habe eine Lösung dafür, die kein zusätzliches Markup, js und funktioniert in IE7-9 (ich habe 6 nicht getestet) und keine Aliasing-Probleme verursacht.

Dies ist eine Kombination aus der Verwendung von CSS3-Textschatten, der außer IE ( http://caniuse.com/#search=text-shadow ) eine gute Unterstützung bietet , und der Verwendung einer Kombination von Filtern für IE. Die Unterstützung von CSS3-Textstrichen ist derzeit schlecht.

IE-Filter

Der Glühfilter ( http://www.impressivewebs.com/css3-text-shadow-ie/ ) sieht schrecklich aus, also habe ich ihn nicht benutzt.

David Hewitts Antwort beinhaltete das Hinzufügen von Dropshadow-Filtern in einer Kombination von Richtungen. ClearType wird dann leider entfernt, sodass wir einen schlecht aliasierten Text erhalten.

Ich habe dann einige der auf useragentman vorgeschlagenen Elemente mit den Dropshadow-Filtern kombiniert.

Etwas zusammensetzen

Dieses Beispiel wäre schwarzer Text mit einem weißen Strich. Ich verwende übrigens bedingte HTML-Klassen, um auf den IE abzuzielen ( 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;
}

Dies funktioniert auch in älteren IE:filter: glow(color=white,strength=1);
mch

16

Fügen Sie einfach diese Antwort hinzu. "Streicheln" des Textes ist nicht dasselbe wie "Gliederung"

Gliederung sieht gut aus. Streicheln sieht schrecklich aus.

Die an anderer Stelle aufgeführte SVG-Lösung weist dasselbe Problem auf. Wenn Sie eine Gliederung wünschen , müssen Sie den Text zweimal einfügen. Einmal gestreichelt und wieder nicht gestreichelt.

Streicheln ist NICHT skizziert

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: Ich würde gerne wissen, wie man die SVG auf die richtige Größe eines beliebigen Textes bringt. Ich habe das Gefühl, dass es ziemlich kompliziert ist, das SVG zu generieren, es mit Javascript abzufragen, um die Extents zu erhalten und dann die Ergebnisse anzuwenden. Wenn es einen einfacheren Weg gibt, würde ich es gerne wissen.


1
Hervorragend, dies ist die richtige Methode, umreißen, nicht streicheln. Funktioniert wunderbar und ist ordentlich und augenschonend.
MitchellK

7

Ich habe bessere Ergebnisse mit 6 verschiedenen Schatten erzielt:

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

Ich wollte einen größeren Schatten und musste ein paar zusätzliche Zeilen hinzufügen ... 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

Dieses Mixin für SASS liefert glatte Ergebnisse mit 8 Achsen:

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

Und normales CSS:

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

Das Arbeiten mit dickeren Strichen wird etwas chaotisch. Wenn Sie das Vergnügen haben, dieses Mixin zu probieren, ist es nicht perfekt und erzeugt je nach Strichgewicht eine angemessene Menge an 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;
}

1
Dieses Mixin hat bei mir nicht funktioniert, aber dieses hat funktioniert: gist.github.com/nathggns/2984123
akirk

0

Mehrere Textschatten. So
etwas in der Art:

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

Hier gibt es viele gute Antworten. Es scheint, dass der Textschatten wahrscheinlich der zuverlässigste Weg ist, dies zu tun. Ich werde nicht ins Detail gehen, wie dies mit Textschatten gemacht wird, da andere dies bereits getan haben, aber die Grundidee ist, dass Sie mehrere Textschatten um das Textelement erstellen. Je größer die Textkontur ist, desto mehr Textschatten benötigen Sie.

Alle eingereichten Antworten (ab diesem Beitrag) bieten statische Lösungen für den Textschatten. Ich habe einen anderen Ansatz gewählt und diese JSFiddle geschrieben, die Umrissfarben- , Unschärfe- und Breitenwerte als Eingaben akzeptiert und die entsprechende Textschatteneigenschaft für Ihr Element generiert. Füllen Sie einfach die Lücken aus, überprüfen Sie die Vorschau und klicken Sie, um das CSS zu kopieren und in Ihr Stylesheet einzufügen.


Unnötiger Anhang

Anscheinend können Antworten, die einen Link zu einer JSFiddle enthalten, nur veröffentlicht werden, wenn sie auch Code enthalten. Sie können diesen Anhang vollständig ignorieren, wenn Sie möchten. Dies ist das JavaScript aus meiner Geige, das die Textschatteneigenschaft generiert. Bitte beachten Sie, dass Sie nicht diesen Code in Ihren eigenen Werken implementieren müssen:

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

Ich hatte auch dieses Problem, und das text-shadowwar keine Option, da die Ecken schlecht aussehen würden (es sei denn, ich hätte viele, viele Schatten), und ich wollte keine Unschärfe, daher bestand meine einzige andere Option darin, Folgendes zu tun: Haben 2 Divs und für das Hintergrund-Div setzen Sie ein -webkit-text-strokedarauf, was dann einen so großen Umriss ermöglicht, wie Sie möchten.

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>  

Mit diesem konnte ich eine erreichen out Linie, weil die stroke-widthMethode war keine Option , wenn Sie Ihren Text wollen mit einem sehr großen Umriss lesbar bleiben (weil mit stroke-widthdem Umriss wird in der Beschriftung beginnen , die es nicht lesbar macht , wenn die Breite wird größer als die Buchstaben.

Hinweis: Der Grund, warum ich einen so fetten Umriss brauchte, war, dass ich die Straßenetiketten in "Google Maps" emulierte und einen fetten weißen Heiligenschein um den Text wollte. Diese Lösung hat bei mir perfekt funktioniert.

Hier ist eine Geige, die diese Lösung zeigt

Geben Sie hier die Bildbeschreibung ein


-15

Hier ist die CSS-Datei, die Sie hoffentlich bekommen, was Sie wollen

/* ----- 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
Bitte erläutern Sie Ihre Lösung. Selbst wenn es funktioniert, haben wir keine Ahnung, wie wir es verwenden sollen.
Patrick Hofman

3
Ich hoffe, dass die richtigen Lösungen nicht 200 Zeilen CSS benötigen.
Dardub

2
Diese Antwort macht buchstäblich überhaupt keinen Sinn.
Superluminary
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.