2011 7. Juli 2011

Die Frage nach der CSS-Hack

Wäre dies in einigen Blogs zu lesen ... dachte, es wäre schön, dies für zukünftige ref Katalog .... Auch könnte ein wichtiger Interview Frage sein, dass Sie eines Tages gefragt ....

Schreiben Sie einen kurzen Ausschnitt aus CSS, die einen Absatz in Blau in älteren Browsern, rot in neueren Browsern zeigt, grün in IE6 und IE7 in schwarz

#content p{color:blue}
html>body #content p {color:red}
* html #content p{color:green}
html>body #content p {*color:black;}


2010 20. Mai 2010

Re-Cycling CSS: Ein Blick auf CSS-Frameworks

Re-Cycling ist Buzzword und bei der Webentwicklung bedeutet es nicht anders. Es spart Energie, in Bezug auf Aufwand!

Über Jahre hinweg zu schreiben und Erstellen von HTML-CSS-Designs aus, ich habe ein paar Best Practices gefolgt, in der Verfolgung das spart Zeit und Energie in das, was wir gemeinhin als Begriff "Re-Erfindung des Rades". Immer wieder habe ich mir gesagt, dass ich ein paar Vorlagen zu erstellen, einige Standard-Mehrweg-CSS, die ich benutzen würde OUT OF THE BOX in meine zukünftige Arbeit. Obwohl nicht vollständig, aber ich habe es geschafft, einige Ziele zu erreichen.

Bei der Förderung, Re-Use von CSS, hatte ich einen Blick auf die wenigen CSS-Frameworks, die üblicherweise zur Verfügung zu stellen sind und beschlossen, sie zu benutzen, da diese erprobt und getestet und erstellt von erfahrenen Entwicklern viel, als ich. Noch wichtiger ist "vermeiden eine erneute Erfinden".

Obwohl allgemein bekannt, Veteranen, habe ich versucht zu Stift einige Schlüsselbegriffe / Best-Practices / Gedanken, die in die Schaffung dieser Rahmenbedingungen, um RE-cycling von CSS möglich gewesen ist. Hoffen, dass dies einige CSS-Entwickler, die gerade dabei sind und vor kurzem an Bord der CSS-Zug aufgesprungen zu helfen!

Keys Re-cycling von CSS:

Verwenden Sie Namenskonventionen

Dies hat zu der wichtigste Faktor bei der Herstellung der CSS / HTML wiederverwendbar sein. Giving konsistente Namen zu Seite Elemente ermöglicht die Wiederverwendung von Komponenten und deren Seite Stile mit wenig oder Modifikationen. Im Einklang mit diesem Argument, auch HTML5, zu einem grundlegenden Wandel Veränderung gegenüber seinen Vorgängern, ist es, einige strukturelle Tags nämlich einzuführen. <article>, <section>, <header>, <aside> und <nav> [ Was wird HTML5 zu bringen? ]. Selbst mit HTML 4 (oder niedriger), ist es am besten Standard Bereichen Ihrer Seite consistanly wie in der einfachen Beispiel unten zu nennen ...

Denken Sie daran, die meisten Seiten auf Ihr Projekt, am Ende mit den gleichen Kern Strukturelemente. Identifizieren Sie diese gemeinsamen Kern Seitenelemente ....

  <div id="container">
    <div id="header"> ... </ div>
    <div id="nav"> ... </ div>
    <div id="sidebar"> ... </ div>
    <div id="footer"> ... </ div>
   </ Div> 

Reset Default Styles (CSS Resets): Ob Sie einen Rahmen oder benutzen Sie schreib, müssen Sie CSS-Resets bieten [ Was sind CSS-Resets? ], da sie manchmal zu beseitigen oder zu reduzieren visuelle Unstimmigkeiten, die zwischen verschiedenen Browsern auftreten. In einfachen Worten die CSS-Reset-Mechanismus setzt die Stile der HTML-Element auf Null oder NULL-Werte und somit Vorrang vor allen Browser-Standardwerte können sie stellt. Dies bietet eine tabula rasa, um die Eigenschaften dieser Elemente ohne irgendwelche User-Agent-Defaults [gesetzt CSS2.1 User Agent Style Sheet Defaults ]. Alle CSS-Frameworks kann der Reset-Mechanismus haben. Wenn Sie mit dem Schreiben Sie eigene CSS-Resets werden, ist ein Wort der Vorsicht, dass, wenn Sie vergessen, eine wichtige Eigenschaft zurückgesetzt passieren, könnte es zu Cross-Browser-Probleme, die sehr schwer zu debuggen sind zu führen. Denken Sie daran, Behalten Sie eine Kopie der Reset-Stile und Drop in jedes neue Projekt, das Sie erstellen.

  Körper, div, dl, dt, dd, ul, ol, li,
  H1, H2, H3, H4, H5, H6,
  vor, Form, fieldset, Input die Option, textarea,
  p, blockquote, Tisch, th, td
  {
    border: 0px;
    margin: 0;
    padding: 0;
  } 

Set Defaults (Baseline Styles), um Elemente:

Nachdem Sie (auf Null oder null) haben die Standardwerte bestimmter persönlicher Eigenschaften bestimmter HTML-Elemente, ist es notwendig, einige Stile in jedem Fall dieser Elemente gelten. Diese Voreinstellung kann nach der Gestaltung variieren oder nach die besten Praktiken, die Sie verfolgen.

Die meisten CSS-Frameworks, immer einige neue Vorgaben, zusätzlich zu Zurücksetzen Standard-Browser Stile.
Diese Standardwerte Unwirksamkeit der User-Agent-Defaults (weg von der CSS-Reset-gestrippt), werden diese im Einklang mit allen Browsern.

Erinnern Sie sich, Baseline Styles verwendet werden, um Stile, die gehen Design-weite verwendet werden soll. zB.

  html {font-size: 77%; font-family: Arial, sans-serif;}
 starke, H1, H2, H3, H4, H5, H6 {font-weight: bold;} 

Abstract Styles für Common HTML-Komponenten und gemeinsame Klassen:

Die meisten Vorhaben, die aus mehreren Seiten wird häufig HTML-Elemente auf der Website verwendet, zB für irgendeine Art von Formen, Warnungen und Fehlern, Custom Popups, Leuchtkästen etc. haben seit über solche Komponenten sind wieder über Projekte verwendet, wird es nützlich sein, die Bereitstellung eines Satz von Klassen mit vordefinierten Stilen für diese Komponenten verbunden und Sie ersparen sich eine Menge Zeit.

Abgesehen von der Definition wiederverwendbare Stile Definitionen für die gängigen HTML-Komponenten, konnten wir abstrakten Stilen Klassen in Bezug auf Typografie, Farbe oder sogar Layout. Ich selbst neigen Sie ... gemeinsame Klassen wie Clearfix, Font08, FontGrey, AlignL, DisplayB usw.

  Form input {border: 0px; background: # FFFFFF; padding: 0px 10px; _padding: 0px 0px; height: 26px; color: # 000000; line-height: 30px; font-size: 1.1em;}
 Form textarea {border: 0px; background: # FFFFFF; color: # 000000; font-size: 0,9 em; line-height: 1.5em; overflow: visible;}
 . Fbold {font-weight: bold; color: # CCCCCC;}
 . Fgrey {color: # 666666;}
 . Flightgrey {color: # bbbbbb;}
 . Clearfix {clear: both;}
 . Teiler {border-top: 1px solid # 647B06; border-bottom: 1px solid # 9CC00A; height: 0px;}
 . Displayb {display: block;}. Displayn {display: none;}
 . Alignr {text-align: right}. Alignc {text-align: center}
 . Floatr {float: right;}. Floatl {float: left;} 

Fixes, um gemeinsame Browser Tücken

Verschiedene Browser CSS-Code zu implementieren und bieten unterschiedliche Niveau der Unterstützung für die CSS-Spezifikationen. Dies hat zur Folge .... "Browser-Quirks", dass wir den Entwicklern überlassen werden, um anzupacken. Insbesondere verfolgt die meisten IE6 CSS-Programmierer mit einer Frist zu erfüllen. Die gute Nachricht ist die Erfahrung hat gemeinsam möglich WIEDERVERWENDBAR Fixes für diese Probleme (oft als sogenannte gebracht CSS-Hacks ).

Denken Sie daran, halten Sie diese Hacks / Fixes handlich

  / * Die folgende zoom: 1 Regel ist speziell für den IE6 + IE7.  * /
    * Html. Clearfix,
    *:. First-child + html clearfix {
           zoom: 1;
      } 

Halten Verfeinern der CSS

  • Die Gewohnheit, Recycling-nicht zu euch kommen in Tag. Es muss entwickelt. So planen Sie Ihren Re-Cycling. Achten Sie hierauf, dass man abstrakte Vorgaben Stile, Typografie Definitionen, Layouts, HTML-Element Styles etc. Versuchen Sie, vorausschauend zu denken.
  • Auch blicken zurück auf Ihre früheren Projekten, wird es dazu beitragen, Stile, die Sie verwenden oft über porjects neigen. Kurzfassung es.
  • Entfernen Sie alle unbenutzten Stile. Diese Praxis wird Ihre CSS-Framework von einem gemeinsamen Symptom als "Aufblähung" zu halten -
  • Nehmen Sie sich wiederholende Stile.
  • Bauen Sie eine Reihe von Stilen, die flexibel genug, um es über die Projekte hinweg zu portieren sind.

Ein Blick auf CSS-Frameworks

Endlich. Wenn Sie inspiriert sind und beabsichtigen, eine oder mehrere der CSS-Frameworks verwenden, ist Heres kurze Liste von einigen wenigen populären ....

  • 960 Grid System : Das 960 Grid System ist ein Versuch, Web-Entwicklung Workflow, indem sie häufig verwendete Dimensionen, basierend auf einer Breite von 960 Pixel zu optimieren. Es gibt drei Varianten: 12, 16 und 24 Säulen, die getrennt oder gemeinsam genutzt werden können. Dachte sich nichts, dass man nicht schaffen ein für Ihre eigenen leicht genug, Der Rahmen Raster-Vorlagen für den Druck im PDF-Format, dass man benutzen, um Ihre Seite designs.Bet skizzieren können bietet, wäre es einen professionellen Eindruck, wenn man ein paar Blätter tragen, wenn Sie gehen an einen Client für UI-Anforderungen sammeln. Es bietet auch Grundraster Vorlagen für beliebte Design-Software wie Fireworks, Flash, InDesign, Illustrator, Photoshop, Visio, etc. Bereitstellung eines "Starter for Ten" zu Ihrem Design Arbeit zu beginnen.
  • Blueprint : Blueprint bietet deutlich klassifiziert CSS-Dateien für Resets, Grids, Formulare, Druck, Typografie, Plugins für Schaltflächen, Registerkarten und Sprites etc. Es bietet auch Unterstützung für IE als separates gehören.
  • SenCSs : Im Gegensatz zu den beiden obengenannten SenCSs (sprich: Sense), verfügt nicht über CSS-Definitionen für das Layout. Die Informationen enthalten Schriftarten, Polsterungen, Ränder, Tabellen, Listen, Überschriften, blockquotes, Formulare und vieles mehr.
  • BlueTrip : Seine ursprüngliche Anspruch auf Ruhm war, dass es eine Kombination der besten Features von anderen Frameworks wie andere Blue Print, Trip oli ... von wo aus er seinen Namen zur Verfügung gestellt wurde. Sein Feature-Set umfasst 24-Stützenraster, Typografie Stile, ORM-Stile, drucken, Buttons etc.
  • YUI Grids : Geholt Ihnen durch den yahooo Developer Network unterstützt fluid-width (100%) Layouts sowie voreingestellte Layouts fester Breite auf 750px, 950px, 974px und, und die Fähigkeit, leicht auf eine beliebige Anzahl anpassen. Wie Sie sehen können, die technisch nur die Komponenten-Layout. YUI auch vorgesehen HTML / CSS-Sets für andere Seitenelemente
  • YAML (Yet Another Multicolumn Layout)
  • Emastic

Denken Sie daran, mit Hilfe von CSS-Frameworks bedeutet nicht, dass Sie faul, um ein eigenes zu erstellen sind ... Es impliziert, dass Sie klug, um von anderen Erfahrungen und Fehlern zu lernen, Zeit sparen und Produktivität steigern sind!!


2010 13. März 2010

@ FontFace: Ausdruck mit einer Schriftart Ihrer Wahl; Mit WebFonts

CSS beendet 10 Jahre Bestehen in diesem Jahr! Diejenigen, die sich für eine Weile gewesen sind, verdienen ihr Brot (oder nicht) unter Verwendung von CSS, dann habe bewusst, wie wir für eine gute Auswahl an Schriften gehungert. Selbst mit dem Mangel an Schriften-Designer wie diejenigen bei CSS Zen Garden haben die Verwendung von CSS-Hintergrund-Bilder von Schriftarten in dem Streben nach Gerechtigkeit dabei einige um ihre Entwürfe zu ersetzen hat. Wir haben auch versucht Flash / JavaScript ®-Hacks, um unsere Design-Ziele zu erreichen. Auf keinen Fall ist dies ein falscher Weg, um die wir uns wünschen Schriften in unsere Web-Designs zu bekommen, aber definitiv ist es nicht das begehrteste Weise. und über Jahre Web-Designer, wie ich, haben sich voll auf zehn oder so Fonts für ihre Entwürfe verlassen.

Jüngste Entwicklungen in der Web-Standards und Font-Formate machen es möglich, HTML-Text in Schriften außer den gleichen alten Standard-Schriftarten machen. Kommt in dem "@ fontface" CSS Decleration.

@ Fontface provids eine Lösung für die aktuelle Schriftart-Datei zu verknüpfen und rufen Sie sie aus dem Web. Verwenden von @ fontface können Designer-Schriftarten, ohne den Text als Hintergrundbilder verwenden einfrieren. Die Umsetzung ist sehr geradlinig, wie unten dargestellt, sondern als alle guten Dinge ein CON Teil müssen sie unterstützen nicht alle Browser eine einzige "Schriftart". Wenn Sie planen, in @ fontface Website verwenden mit Cross-Browser-Unterstützung benötigt werden, dann müssen Sie Quellen zu verschiedenen font-Typen derselben liefern.

  1. TrueType - Ein Format, das gut aussehen auf dem Bildschirm. Besonders empfohlen für Windows-Browsern (Chrome).
  2. OpenType (CFF) - Dieses Format ist besser für den Druck der Arbeit und sieht nicht immer gut unter Windows.
  3. EOT - Sie benötigen dieses Format, wenn Sie Internet Explorer ausrichten möchten. IE wird nicht mit irgendwelchen anderen Format. Unsere EOT würde als die "Lite", da sie weder komprimiert noch Domain-eingeschränkt werden.
  4. SVG - Das ist ein XML-Format von einigen Browsern einschließlich dem iPhone unterstützt.
  5. WOFF - Das Cross-Browser, Web-only-Font-Format ist leicht (Font-Daten ist zip komprimiert) und kann entweder mit TrueType-oder PostScript (CFF) skizziert kompiliert werden. Es wird gegenwärtig von Firefox 3.6 unterstützt +.

Verwenden von @ fontface

  @ Font-face {
 font-family: 'CalligraphyFLFRegular';
 src: url ('CalligraphyFLF.eot');
 src: local ('CalligraphyFLF'), lokale ('CalligraphyFLF'), url ('CalligraphyFLF.woff') format ('WOFF'), url ('CalligraphyFLF.ttf') format ('TrueType'), url ('CalligraphyFLF . SVG # CalligraphyFLF ') format (' svg ');
 }
 @ Font-face {
   font-family: "Ihre Schrift";
   src: url ("fonts / font_filename.eot");
   src: local ("Alternate Name"), lokale ("AlternateName"),
     url ("fonts / font_filename.woff")-Format ("WOFF"),
     url ("fonts / font_filename.otf")-Format ("OpenType"),
     url ("fonts / font_filename.svg # font_filename")-Format ("SVG");
   }
 h2 {font-family: "Ihre Schrift", Georgia, serif;} 

Wie Sie aus dem obigen Beispiel zu sehen, um die gewählte Schriftart Schrift gehören, muss man sich auf einen Satz von fonttypes für das gleiche Schriftbild zu verknüpfen. Daher Leute bezeichnen es als "Font Kit".
Es gibt Font Kits zur Verfügung, die explizit erlaubt die Verknüpfung mit der CSS @ font-face-Eigenschaft, um es unter End User License Agreement (EULA).

Nützliche WebFont Ressourcen:

  • Verfügbaren Schriftarten für @ font-face Einbettung Wiki-Seite bei http://webfonts.info/wiki/index.php?title=Main_Page
  • Ray Larabie . Er ist ein renommierter Schrift-Designer, die hunderte von interessanten TrueType-Schriften frei verfügbar für den Einsatz im Web gemacht hat. Seine Schriften sind elegant, dekorativ und verspielt.
  • Dieter Steffmann ist ein weiterer großer Schrift-Designer. Auch er hat viele schöne verfügbaren Schriftarten für jedermann zu benutzen gemacht.
  • Font-Shop : Fonts bietet speziell für die Web-Nutzung ausgelegt. Mehr als 30 der erfolgreichsten FontFont Familien sind jetzt auch als Web FontFonts. FontShop hat auch eine detaillierte Anleitung WebFont http://www.fontshop.com/blog/newsletters/pdf/webfontfontuserguide.pdf
  • Font Squirrel : Vitrinen, dass alle Schriften Font Squirrel bietet für den Einsatz mit @ font-face CSS-Einbettung. Font Squirrel bietet eine beeindruckende Menge an Typ, macht es einfach tot um ein herausgreifen, handlich und bietet "Kits" - die Schrift Ihrer Wahl, in verschiedenen Formaten, mit Demo-HTML & CSS verpackt, die sehr aktuelle @ font-face-Syntax verwendet . Sie bieten auch einen Weg, um Ihre eigene @ font-face-Kits machen . Wenn die Schriftart Sie verwenden möchten, wurde entsprechend (die, die mit dem Computer kommen, sind nicht unbedingt in Ordnung) lizenziert, produziert der Generator EOT, SVG, und hey! WOFF-Dateien.

2009 7. November 2009

CSS ZOOM - Yet Another IE Marotte; Der 3 Pixel-Shift

Zeit und immer wieder, Wenn alle anderen Browsern gesehen zu verhalten, wie vom W3C Regeln, dh Spiralen Sie aus der Entwicklung von Geist einen Wutanfall gesagt, bedeutet das nicht scheinen, um ein Update zu haben. Genau ein solcher ist dieses Problem in IE7.

Problemstellung:
Ich und so könnten viele der anderen ernsthaften Web-Entwickler haben mehr als Viele Male, dass, wenn es verschachtelt schwimmt im Layout, auf schweben über einige Links (Anker-Tags) bemerkt, scheint das enthaltende Behälter, um ein paar Pixel nach rechts verschieben . Ich habe mit google Lösungen für dieses Problem versucht, aber haben kaum eine vernünftige Antwort gefunden, warum und wann es auftritt (das könnte helfen, dieses Problem zu verhindern), daher habe ich noch nie eine klare Lösung für das Problem gefunden: entweder ...

Mögliche Lösung:
Aus Erfahrung, ich habe Vorankündigung 90% Prozent der Zeiten heißt, dass dieses Problem durch das Hinzufügen einer Zoom-Eigenschaft in der CSS-Definition der mis-verhalten Behälter befestigt ist ...

 # {Somediv
       zoom: 1;
 }

wieder die Gründe sind unklar ... try this ...
Einige Elemente im IE eine "hasLayout"-Eigenschaft, die "wahre" standardmäßig aktiviert ist. Viele visuelle CSS-Verhalten, zum Beispiel, ein Alpha-Filter funktioniert nur auf ein Element, dass hasLayout. und die {Zoom: 1} zu geben scheint die Zielelemente die hasLayout Eigentum .... Sinnvoll? Ich denke nicht so ...

Die Zoom-Eigenschaft wird auch scheint von Chrome unterstützt, aber seine Verwendung kraft scheinen viel negativen Einfluss auf mein Layout machen ... versuchen Sie es, wenn es für Sie funktioniert ... wenn nicht, Bookmark auf diese Seite unter "CSS scheißt"


2009 28. Juli 2009

CSS2.1 User Agent Style Sheet Defaults

Gestern, nach dem Thema, das ich mit dem CSS-Resets in Google Chrome gestoßen ... Ich dachte an zu graben ein bisschen tiefer in den Bereich des User Agent Style Sheets ...
Gefunden in dieser Tabelle auf Standardwerte CSS2.1 User Agent Style Sheets ... (für diejenigen, nicht bewusst, was "User Agent Style Sheets" ist folgen Was ist User Agent Style Sheets (Spezifikation) .

Für eine vollständige Liste von CSS 2.1 User Agent Style Sheets Standardwerte klicken Sie hier


2009 27. Juli 2009

User Agent Style Sheets: Mystery Die Margen in Google Chrome

Gestern, wie jeder andere "Ground Hog Day", wurde ich auf einigen CSS / tableless Layouts arbeiten. Alles lief gut in IE 7, FF 3 und Chrome, soweit nicht plötzlich, sah ich einige un-ignorable Margen nur in Google Chrome zu sehen. Obwohl sehr seltsam und Worring, es einige neue Fehler / Problem war, dass ich accross kommen, gab es schließlich einige Gewürz in meinem alltäglichen Arbeit. Sad (aber feine) wurde es innerhalb von wenigen Minuten von der Sonde fixiert ...

Im Grunde sah es aus wie Google Chrome ignoriert meine CSS-Resets (margin: 0px). Es wurde tatsächlich durch den User-Agent-Stylesheet (-webkit-padding-Start: 40px) verursacht. Also die Lösung war, diesen Stil, indem Polsterung zurückzusetzen: 0 dem problembehafteten Elemente.
Eine gute Möglichkeit, dieses Problem nicht passiert zu jedem Element zu verhindern, ist weltweit ein Übriges CSS wie folgt

* {Margin: 0; padding: 0;}

Was ist User Agent Style Sheets (Spezifikation)?
Der folgende Auszug ist entnommen aus http://meiert.com/en/blog/20070922/user-agent-style-sheets/ , folgende Link, um mehr über User Agent Style Sheets lesen

CSS 1 führt die Idee mit der Feststellung, dass jeder User Agent (UA, oft ein "Web-Browser" oder "Web-Client") wird ein Standard-Stylesheet, das Dokumente in einer angemessenen präsentiert haben - aber wohl banal - Art und Weise. CSS 2 sagt, dass konforme Benutzerprogramme müssen ein Standard-Stylesheet anwenden (oder so tun, als wenn sie es taten) und dass ein User-Agent Das Standard-Stylesheet sollten die Elemente der Sprache des Dokuments in einer Weise, die allgemeine Präsentation Erwartungen für das Dokument Sprache befriedigen zu präsentieren; CSS 3 ist wahrscheinlich einer Meinung sein.

Da die CSS-Spezifikationen lassen Sie es bis zu Implementierungen, ob eine "echte" Stylesheet für Standard-Anzeige verwendet wird oder nicht, ist es nicht erstaunlich, dass Sie nicht finden, ein Standard-Stylesheet in jedem Browser den Installationsordner. Im Gegensatz zu Microsofts Internet Explorer sowie Opera, zum Beispiel (und soweit ich weiß), machen Gecko-Browsern wie Firefox und Netscape Navigator (suchen Sie nach "html.css"), sondern auch Konqueror es recht einfach auf die Standardwerte Styling zu begreifen.


2009 18. Februar 2009

Hinzufügen von Schlagschatten, um Bilder mit CSS

Eine weitere schnelle tut. Hier ist etwas einfach und schön mit der Kraft der CSS ... aber war schwierig concieve (und es war sicher nicht mich) zu beginnen. Hinzufügen von Schlagschatten, könnte ein peice der Kuchen für viele von uns sein, mit etwas Bildbearbeitungs-Tools wie Photoshop ANF Feuerwerk usw.
Der Grund, warum ich für Schlagschatten mit Hilfe von CSS entschieden ist, dass in der Regel während der Erstellung eines Seiten-Design / html einer Anwendung, die Anforderungen Iteration zu halten. Was ich meine ist, in einer bestehenden Website mit vielen Bildern, wie die, die Anzeige von freinds Liste oder eine Bildergalerie, wird es schwierig sein, die Wiederaufbereitung die gesamte Last der Bilder, die bereits abgeladen hatte, um hinzuzufügen oder zu entfernen, die Schatten, dass für Materie.
Wenn Sie also ein wenig vorausschauendes Denken getan haben während der Erstellung der HTMLs, diese zusätzlichen Divisionen oder fügen Sie in der Regel die Situation ist, dass Sie einen Loop Logic Erzeugung dieser Icons / Thumbnails in XSL, PHP haben. JAVA oder einer anderen Programmierung / Scripting-Sprache, können Sie es jederzeit vergrößern, dann ist nur die Frage der Show und versteckt diese Schatten unter Verwendung der CSS-Eigenschaft display, wie pro die Kunden sich ständig ändernden Anforderungen ... habe ich bis diese Art von zukunftsorientierten getan bevor diese ... aber ahev begann jetzt!

Im Beispiel unten ist das Originalbild schattenfreie und die dropshadows angewendet werden wie nötig! Außerdem habe ich ein wenig mehr gegangen, indem Sie die Tricks meiner früheren Tut (Well! diese wahrscheinlich kürzeste Vielzahl von Tutorials, so ist es nur gerechtfertigt, nannte sie "Tut" 's) über die Verwendung von CSS Clip-Eigenschaft für die Schau nur

Original Image

original_image

CSS DropShadow Ergebnisse
css_dropshadow_results
Demo ansehen | herunterladen Quelldateien


2009 17. Februar 2009

Understandng Die CSS Clip-Eigenschaft

Warum will ich das zu verstehen??? Humm ...!!

Die meisten CSS-Autoren würden zustimmen, dass CSS-Clip-Eigenschaft ist wahrscheinlich eines der am meisten unbenutzte CSS-Eigenschaften. Es war so richtig für mich und war sehr glücklich, es zu vernachlässigen, bis ich begann Modifizierung der MooTools ZWEI Knob (Pin) Slider-Komponente (mit Range Indicator) .

Es war ein guter Vorschlag von einem der Komponente Benutzern, die Slider-Komponente mit Hilfe abgeschnitten backgroud Bilder (gegen eine variable Breite Teilung), um den Schieber Sortiment zeigen zu modifizieren. So kam meine Zeit, um den Spaß, aber un-Wirtschaftsprüfer (für mich natürlich) Wasser des CSS-Clip-Eigenschaft eingeben.

Na ja! wie schwierig es sein kann? Nicht viel überhaupt ... YES und NO. Die Syntax, um die CSS-Clip-Eigenschaft verwenden, ist ziemlich aufrecht, aber der Sinn / usuage ist ein bisschen croocked. Mit einem Speicher wie meine, immer wenn ich sitzen auf Nachbesserung auf meinem Slider Script ... Ich habe tokeep Rückbezug auf Nutzung dieses Clip-Eigenschaft, um mich daran erinnern, die Logik, die ich in meinem Skript erstellt .... DAMIT! gedacht, um Stift it down, mit einer Hoffnung zu erinnern, das die Zukunft (und auch zum Nutzen derer, die scheinen hilflos vor einem CSS-Clip-Eigenschaft)

Was bedeutet CSS Clip tun?

Clip ist Teil der visuellen Effekte-Modul von CSS 2.1. Einfach ausgedrückt, ist seine Aufgabe, ein sichtbares Fenster oben auf ein Objekt, das nicht abgeschnitten wird, zu platzieren, damit Clipping Bilder und Thumbnails ohne zusätzliche Dateien (I haben bereits diese Funktion, um eine bessere Nutzung der Slider-Komponente erstellen :) )

Mit dem CSS-Clip-Eigenschaft können Sie einen Ausschnitt mit dem rect Form. Wie viele andere CSS-Eigenschaften (wie margin, padding etc), mit rect erfordert vier Koordinaten Oben, Rechts, Unten, Links (TRBL). Die croocked Natur dieser Eigenschaft entspricht, wenn man einen genaueren Blick auf, wie Clip berechnet die Clipping-Region zu nehmen, mit diesen vier Koordinaten (sendet Gehirn in einen für eine Weile zu werfen). Nun, Sie zu verwirren beginnt der Boden von oben und die rechte von der linken Seite beginnt. :) . Du siehst, was ich gesagt habe? .... Damit dieser Beitrag ...

Dieses kleine Verwirrung kann leicht verschwinden, die mit diesem visuellen Erläuterung der CSS-Clip / rect Eigenschaft als unten!!

CSS Clip Bedarf

Die Aufgabe, die wir begonnen haben, ist es, die folgende Thumbnail-Bild in ein quadratischer suchen Bild-Clip (und auch ein Weitwinkel-Bild)

original_image clip_demo
Ursprüngliche Thumbnal / Image Clip Anforderungen für Sqaure Thumbmail

CSS Clip Ergebnisse

clip_results

Demo ansehen | herunterladen Quelldateien


2008 12. Oktober 2008

Vertikal (und horizontal) Center Ausrichtung von Inhalten in einem DIV mit CSS

Bevor wir uns mit CSS zu tun, um unsere Seiten-Layouts zu erstellen, richten einige Inhalte in einer Tabellenzelle hatte schien nur ein Kinderspiel. Setzen Sie einfach das "align" oder "valign"-Eigenschaft der Tabelle, um die Ausrichtung Ihrer Wahl, Stück Kuchen haben!
Mit CSS-Layouts, aber wir haben "vertical-align"-Eigenschaft für die Elemente, scheint es nicht so einfach wie das "align" oder "valign" Eigenschaften sein. Um genauer zu sein specifiic die "vertical-align" scheint nie zu irgendwelchen Ihre Probleme zu lösen, vor allem, wenn sich ein Stück von Cross-Browser CSS zu schreiben.

Ohne den Einsatz von HTML-Tabellen, DAS PROBLEM DER Zentrierung auf Objekt, das ein Bild oder ein Text in einem haltigen Division, hat wahrscheinlich schon jeder UI / CSS Entwickler Alptraum an einem gewissen Punkt zu sein. Dieses Problem weiter extrapoliert Ihre Sorgen auszurichten, wenn das Objekt zu zentrieren ist in der Natur dynamisch, dh, wenn seine Höhe ist variabel (unbekannte Höhe).

Zwar gibt es keine bekannte Lösung, die gerade nach vorne über den Bereich der Browser haben wir zu tun haben will arbeiten, scheint die Lösung, dass ich versucht habe, bei ankommen tut, um in den wenigen Browsern, ich habe es versucht, in Arbeit (IE6, IE 7 , FF).

LÖSUNG:
In Browsern wie Mozilla, Opera und Safari, Der seltsame Verhalten "vertical-align"-Eigenschaft kann zur Vernunft gebracht werden, einfach indem Sie die "Display"-Eigenschaft des übergeordneten Division auf "table-cell" (display: table-cell) .

Das Problem bleibt trotzdem mit dem IE-Browser-Familie, die, noch scheinen nicht, was mit dem "table-cell"-Eigenschaft und unwissend zu verstehen, wie sie, sie ignorieren es einfach sind. Die Lösung unten, wenn auch einfach, ein paar Anzeigen mehr von DOM-Elementen, um Ihre HTML, die Dinge passieren gegeben.

Die CSS-und HTML sieht wie folgt aus
.outer_container {
display: table;
text-align:center;
height: 140px;
width:140px;
position: relative;
overflow: hidden;
float:left;
margin:0px 10px 0px 0px;
}
.obj_container {
display: table-cell;
vertical-align: middle;
#position: absolute;
#top: 50%;
#left:50%;
}
.obj{
#position: relative;
#top: -50%;
#left:-50%;
margin:0px auto 0px auto;
}

HTML: -
<div class="outer_container">
<div class="obj_container">
<div class="obj"> <img src="image1.jpg"/> <br/> Aufrufe: 3456 </ div>
</ Div>
</ Div>

Das Ergebnis sieht wie folgt aus: -

HTML_CSS_vertical_align_vertical_middle_aligned_images

Demo ansehen hier | Quellcode-Dateien (Downloads 448 mal)


Das Verständnis der Lösung:
Für die Browser, die Anzeige zu verstehen: Tisch und display: table-cell Eigenschaften, es selten braucht keine Erklärung. Für IE, mit dem Einsatz ein IE-spezifischen Hack (Hash-Hack), wir absolut positionieren das Objekt Behälter (obj_container) in der Hälfte des zur Verfügung stehenden Höhe. Dann Objekt (obj) ist in Position relativ und wird von halber Höhe bewegt ... Naja! Ich scheine das Aussehen der auf Ihrem Gesicht zu verstehen, aber es funktioniert. Versuchen Sie es!
Die oben genannten Techniken werden kombiniert, um uns die oben genannten Cross-Browser-Lösung.


Die CSS kann leicht geändert werden, wie unten zu erreichen, vertical-align: top oder vertical-align: bottom

Oben ausrichten CSS
.obj_container_top {
display: table-cell;
vertical-align: top;
#position: absolute;
#top: 0%;
#left:50%;
}
.obj_top{
#position: relative;
#top: 0%;
#left:-50%;
margin:5px auto 0px auto;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:10px;
color:#cccccc;
}

HTML: -
<div class="outer_container">
<div class="obj_container_top">
<div class="obj_top"> <img src="image1.jpg"/> <br/> Ansichten: 1234 </ div>
</ Div>
</ Div>

Das Ergebnis sieht wie folgt aus: -

HTML_CSS_vertical_align_vertical_top_aligned_images

Unten ausrichten CSS
.obj_container_bottom {
display: table-cell;
vertical-align: bottom;
#position: absolute;
#bottom: 0%;
#left:50%;
}
.obj_bottom {
#position: relative;
#bottom: 0%;
#left:-50%;
margin:5px auto 0px auto;
}

HTML: -
<div class="outer_container">
<div class="obj_container_bottom">
<div class="obj_bottom"> <img src="image1.jpg"/> <br/> Ansichten: 1234 </ div>
</ Div>
</ Div>

Das Ergebnis sieht wie folgt aus: -

HTML_CSS_vertical_align_vertical_bottom_aligned_images

hier sehen Sie die Demo | Download hier


Horizontale Zentrierung des Objekt einfach mit der Margin-Eigenschaft erreicht, indem die margin-left und margin-right auf auto

Scheint, wie Alter, da ich versucht habe, eine angemessene Lösung für dieses Problem Ausrichtung zu finden. Aber jetzt mit dieser Lösung, fühle ich mich an etwas Ruhe.

Mit einer Hoffnung, dass eines Tages

  • Vertikal-Alignment-Eigenschaft in CSS wird, wie sie aussieht in einer Tabellenzelle arbeiten, ohne sich viel um den heißen Brei
  • Zumindest die Einstellung margin-top: auto und margin-bottom: auto, wird als das gleiche Ergebnis wie mit margin-left und margin-right auf auto-Set geben
  • Die Browser-Kriege wird über einige Tage sein.
  • Es wird dann lediglich ein Browser für alle.

Laden Sie die CSS-und HTML der obigen Lösung hier (Downloaded 448 times) .. für Verständlichkeit, wird die CSS nicht optimiert

PS: Und übrigens, das sind die Miniaturen von einigen Bildern habe ich geklickt ... :)


2008 10. Oktober 2008

NICHT für nur IE - CSS-Selektoren Kind nicht im IE funktionieren

CSS für Nicht-IE-Browsern: Sein keine Neuigkeiten zu CSS-Entwickler,-, CSS-Selektoren Kind wie im folgenden Beispiel, scheint nicht im IE funktionieren.

zB div> span {} einige CSS, das bedeutet ", wenn ein span-Element ein Kind (und nicht ein Enkel oder Urenkel Kind etc.) einer Division Element ist".

Aber wir nutzten diese CON zu unserem Vorteil. Historisch gesehen hat die Kind-Selektor verwendet worden, um CSS-Befehle von IE zu verstecken. Einfach, indem html>body vor jedem Befehl CSS IE ignoriert es:

html>body .foo { CSS commands go here ;}

Das funktioniert, weil <body> ist immer ein Kind von <html> - es kann natürlich nie ein Enkel oder Urenkel sein <html> .

Nun, da der IE 7 das Kind Wähler versteht, müssen Sie einen leeren Kommentar-Tag in direkte Einfügen nach dem Größer-Zeichen IE 7 wird dann nicht verstehen, diese Wähler (wer weiß warum!?) Und wird deshalb völlig ignorieren Sie diese CSS-Befehl.:

html> /**/ body .foo { CSS commands go here ;}

Wenn nicht bereits gesehen haben, bevor diese, haben eine Lese durch die folgenden ebenso


NDK Hause | Ausdruck ihrer IT | Ausdruck Gaumen | Penmenship Ausdruck | Ausdruck Awe | mich auszudrücken