2011 07 iulie 2011

Problema de CSS hack

Dacă citiţi acest lucru într-un blog ... crezut ca a fost frumos de a cataloga acest lucru pentru viitor ref .... asemenea, ar putea fi o întrebare interviu important pe care aţi cerut-o zi ....

Scrie un fragment de CSS, care va afişa un paragraf în albastru, în browserele mai vechi, roşu în browsere noi, verde în IE6 si IE7 în negru

#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-CSS Ciclism: o privire la cadre CSS

Re-Ciclism este Buzzword şi în dezvoltare web inseamna nimic diferit. Se economiseşte energie, în termeni de efort!

Peste ani de scris şi de crearea de CSS HTML de la design, am urmat câteva cateva cele mai bune practici, în căutarea de a economisi timp şi energie în ceea ce noi de obicei ca termenul de "Re-Inventing the Wheel". Ora şi timp, din nou, mi-am spus, că trebuie să creeze cateva sabloane, unele standard de re-utilizabile CSS, care mi-ar folosi DIN CUTIE în activitatea mea viitoare. Desi nu este complet, dar am reuşit să atingă unele dintre obiective.

În promovarea, Re-utilizarea de CSS, am avut o privire la câteva cadre CSS, care sunt de obicei disponibile la noi şi a decis să le folosească, aşa cum acestea sunt încercate şi testate şi creat de către dezvoltatorii de mult cu experienţă, decât mine. Mai important, "a evita re-Inventarea".

Deşi cunoştinţe comune la veterani, am încercat să stilou unele concepte-cheie / cele mai bune practici / gânduri, care a trecut în crearea acestor cadre, pentru a face RE-CICLISM de CSS posibil. Sper că acest lucru va ajuta unii dezvoltatori CSS care sunt doar pe cale de a şi urcat recent bandwagon CSS!

Taste Re-ciclism din CSS:

Folosiţi convenţiile Naming

Acest lucru trebuie să fie cel mai important factor în luarea CSS / HTML re-utilizabile. Acordarea de nume de consistente pentru elemente de pagină permite re-utilizarea de componente de pagină şi stilurile lor, cu puţin sau modificări. În conformitate cu acest argument, chiar HTML5, într-o schimbare schimbare majoră pe predecesorii săi, este de a introduce unele structurale şi anume etichetele. <article>, <section>, <header>, <aside>, şi <nav> [ Ce va aduce HTML5? ]. Chiar şi cu HTML 4 (sau mai mic), este cel mai bine pentru a numi secţiuni standard de pagina dvs. consistanly ca în exemplul de mai jos simplu ...

Amintiţi-vă, cele mai multe pagini de pe proiect, ajung având aceleaşi elemente de bază structurale. Identificarea acestor elemente comune de bază pagina ....

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

Reset Stiluri implicite (CSS Resetează): Indiferent dacă utilizaţi un cadru sau a scrie propriile dvs., trebuie să furnizeze CSS Resetează [ Ce sunt CSS Resetează? ], aşa cum se reduce sau elimina incoerenţele, uneori vizuale care apar între browsere diferite. În cuvinte simple, mecanismul de Reset CSS stabileşte stiluri de element HTML pentru valori zero sau null, imperative, astfel, orice valori implicite browser-ului se pot ridică. Acest lucru oferă o tabula rasa pentru a seta proprietăţile acestor elemente nule de orice valori prestabilite User-agent [ CSS2.1 User Agent de stil implicite Derivati ​​]. Toate cadrele CSS nu au mecanism de resetare. Dacă sunt scris tu propriul CSS Resetează, un cuvânt de precauţie este că, dacă se întâmplă să uitaţi să resetaţi o proprietate cheie, ar putea duce la probleme de cross-browser, care sunt foarte greu pentru a depana. Amintiţi-vă, păstraţi o copie a stilurilor de reset şi fixaţi-le în fiecare proiect nou pe care îl creaţi.

  corp, div, dl, dt, dd, ul, ol, li,
  H1, H2, H3, H4, H5, h6,
  pre, forma, FIELDSET, de intrare, selectaţi, textarea,
  p, blockquote, masă,-lea, TD
  {
    transfrontalieră: 0px;
    margin: 0;
    padding: 0;
  } 

Set Defaults (Stiluri de referinţă) la elemente:

După ce aţi setat (la zero sau null), valorile implicite de anumite atribute ale anumitor elemente HTML, este necesar să se aplice unele stiluri din fiecare instanţă a acestor elemente. Acestea ar putea varia setarea implicită ca pe design sau conform celor mai bune practici pe care le urmăriţi.

Cele mai multe cadre CSS, introduce mereu unele noi valori implicite, în plus faţă de resetarea stiluri browser prestabilit.
Aceste valori prestabilite fiind anulate din cele prestabilite de utilizator agent (deposedat departe de Reset CSS), acestea vor fi coerente în browsere.

Amintiţi-vă, stiluri de referinţă sunt folosite pentru a stabili stiluri, care vor fi utilizate de design la nivel. de exemplu.

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

Stiluri de abstract pentru componente comune HTML şi clasele comune:

Cea mai mare proiect compus din mai multe pagini va avea elemente comune HTML utilizate în întreaga site-ul, de exemplu, unele fel de forme, alerte si erori, popup-uri personalizate, lumini etc Deoarece aceste componente sunt folosite din nou în cadrul proiectelor, va fi util pentru a oferi un set de clase asociate cu stiluri predefinite pentru aceste componente şi aveţi posibilitatea să salvaţi-vă o mulţime de timp.

În afară de definirea definiţii reutilizabile stiluri pentru componente comune HTML, am putea clase abstracte stiluri referitoare la tipografie, de culoare sau chiar aspectul. M-am tendinţa de a utiliza ... clasele comune, cum ar fi Clearfix, Font08, FontGrey, AlignL, DisplayB etc

  {frontieră de intrare sub forma: 0px; fundal: # FFFFFF; padding: 0px 10px; _padding: 0px 0px; inaltime: 26px; color: # 000000; linie-inaltime: 30px; font-size: 1.1em;}
 formularul de textarea {frontieră: 0px; fundal: # FFFFFF; culoare: # 000000; font-size: .9 le; linie-inaltime: 1.5em; depăşire: vizibil;}
 Fbold {font-greutate: bold; color: # CCCCCC;}.
 . Fgrey {color: # 666666;}
 . Flightgrey {color: # bbbbbb;}
 Clearfix {clar: ambele;}.
 Separator {border-top: 1px solid # 647B06; border-bottom: 1px solid # 9CC00A; inaltime: 0px;}.
 Displayb {display: block;}. Displayn {display: none;}.
 Alignr {text-align: right.}. Alignc {text-align: center}
 Floatr {float: drept;}. Floatl. {Float: left;} 

Remedieri pentru quirks browser comune

Browsere diferite punerea în aplicare a codului CSS şi asigura un nivel variabil de sprijin pentru caietul de sarcini CSS. Rezultatul acestei .... "Quirks browser", ca noi, dezvoltatorii sunt lăsate pentru a aborda. Mai ales, IE6 bântuie programatori mai CSS, cu un termen limită pentru a răspunde. Vestea buna este o experienţă a adus împreună remedieri posibile reutilizabile la aceste aspecte (adesea numit ca Hacks CSS ).

Amintiţi-vă, Păstraţi aceste hacks / remedieri la îndemână

  / * Zoom: 1 regula este în mod special pentru IE6 + IE7.  * /
    * HTML. Clearfix,
    *:. Primul copil + html clearfix {
           Zoom: 1;
      } 

Păstraţi Rafinare CSS-ul

  • Obiceiul de a re-mersul cu bicicleta nu va veni la tine în zi. Ea are de dezvoltat. Plan astfel de Re-Ciclism. Ţineţi acest lucru în minte că ar putea defaults abstracte stiluri de definiţii, tipografie, Layouts, stiluri Elementul HTML, etc Încercaţi să vă gândiţi înainte.
  • De asemenea, uita înapoi la proiectele tale din trecut, aceasta va ajuta la identificarea stilurile pe care le au tendinţa de a folosi de multe ori peste porjects. Rezumat ea.
  • Îndepărtaţi orice stiluri neutilizate. Această practică va păstra cadrul CSS la un simptom comun numit "balonare" -
  • Eliminaţi stilurile repetitive.
  • A construi un set de stiluri care sunt suficient de flexibile pentru a se porta pe proiecte.

O privire la cadre CSS

În cele din urmă. Dacă sunteţi inspirat şi intenţionează să utilizeze una sau mai multe dintre cadre CSS, Heres este lista rapidă de câteva cele mai populare ....

  • 960 Sistem Grid : Sistemul de 960 Grid este un efort de a eficientiza fluxul de lucru de dezvoltare web prin furnizarea de dimensiuni, utilizate în mod obişnuit bazate pe o lăţime de 960 pixeli. Există trei variante: 12, 16 şi 24 de coloane, care pot fi utilizate separat sau în tandem. Nimic nu gând că nu se poate crea una pentru propria ta destul de uşor, cadru prevede şabloane de reţea pentru imprimare în format PDF, pe care o poate folosi pentru a schiţa designs.Bet pagina dvs., ar face o impresie profesional, dacă purtaţi câteva coli atunci când te duci la un client pentru colectarea cerinţelor UI. Acesta prevede, de asemenea, şabloane de bază de reţea pentru software de proiectare populare cum ar fi focuri de artificii, Flash, InDesign, Illustrator, Photoshop, Visio, etc oferind o "Starter pentru zece" pentru a începe munca de proiectare.
  • Plan : Planul prevede distinct clasificate în fişiere CSS pentru Resetează, Grile, Formulare, Print, tipografie, plugin-uri pentru butoane, filele si sprites etc oferă de asemenea suport pentru IE ca o separat includ.
  • SenCSs : Spre deosebire de mai sus două, SenCSs (Sense pronunţat), nu are definiţii CSS pentru layout. Aceasta nu include fonturi, Garniture, marje, tabele, liste, anteturi, blockquotes, forme şi multe altele.
  • BlueTrip : cererea iniţială a fost că faima, a fost o combinaţie de cele mai bune caracteristici oferite de alte cadre de alţii, cum ar fi albastru de imprimare, de călătorii Oli ... de unde se trage si numele acestuia. Set caracteristică include 24-coloană reţea, stiluri de tipografie, stiluri de ORM, de imprimare, butoanele, etc
  • YUI Fileu : adus la tine de Developer Network Yahooo, susţine lichid-lăţime (100%), precum şi aspecte presetate cu lăţime fixă machete la 750px, 950px, si 974px, şi capacitatea de a personaliza cu uşurinţă la orice număr. După cum puteţi vedea, sa tehnic doar dispunerea componentelor. YUI oferit, de asemenea, HTML / CSS seturi pentru alte elemente de pagină
  • YAML (Totuşi, un alt aspect multicolumn)
  • Emastic

Amintiţi-vă, folosind cadre de CSS nu implică faptul că sunt leneşi pentru a crea unul propriu ... Aceasta înseamnă că eşti inteligent să înveţe din experienţa celorlalţi şi greşeli, a economisi timp şi creşterea productivităţii!!


2010 13 martie 2010

@ Fontface: Exprimându-se cu un font de alegere; Utilizarea WebFonts

CSS completat de 10 ani de existenţă în acest an! Cei care au fost în jurul pentru un timp, castigand pâinea lor (sau nu) cu ajutorul CSS, atunci s-ar putea cunoştinţă modul în care am fost de foame pentru o bună selecţie de fonturi. Chiar şi cu lipsa de fonturi designeri, cum ar fi cele de la CSS Zen Garden s-au făcut uz de imagini de fundal CSS pentru a înlocui fonturi în căutarea de a face ceva dreptate la desenele lor. Am încercat, de asemenea, Flash / JavaScript ® hacks pentru a atinge obiectivele noastre de design. Prin nici un caz aceasta este o cale greşită de a obţine fonturi noi dorim în design web noastre, dar cu siguranta, aceasta nu este calea cea mai de dorit. şi peste web designer de ani, ca mine, s-au bazat în totalitate pe zece sau pentru fonturi pentru desenele lor.

Evoluţiile recente ale standardelor web şi formate de fonturi face posibilă pentru a face textul HTML în alte fonturi decât aceleaşi fonturi implicite vechi. Vine în "@ fontface" decleration CSS.

@ Fontface provids o soluţie pentru a face legătura la fişierul de font reală şi de a prelua de pe internet. Folosind @ fontface, proiectanţii pot folosi fonturi, fără a fi nevoie să îngheţe text ca imagini de fundal. Punere în aplicare este foarte drept înainte, aşa cum se arată mai jos, dar cum toate lucrurile bune au un rol CON pentru el, nu toate browserele suporta un singur "tip de font". Dacă intenţionaţi să utilizaţi @ fontface pe site-ul cu care necesită sprijin browser-ul cruce, atunci va trebui să furnizeze surse de la diferite tipuri de fonturi de aceeaşi.

  1. TrueType - un format conceput pentru a arata bine pe ecran. Recomandat în special pentru browsere pentru Windows (Chrome).
  2. OpenType (CFF) - Acest format este mai bine pentru munca de imprimare şi nu arată întotdeauna bine pe Windows.
  3. EOT - Aveţi nevoie de acest format, dacă doriţi să vizaţi Internet Explorer. IE nu va folosi orice alt format. EOT nostru ar fi considerat "Lite", deoarece acestea nu sunt nici comprimate sau de domeniu limitat.
  4. SVG - Acesta este un format XML, acceptat de unele browsere, inclusiv iPhone.
  5. WOFF - Acest cross-browser, web-doar format font este usor (date de fonturi este zip comprimat) şi poate fi compilat fie cu fonturi TrueType sau PostScript (CFF) conturează. Ea este susţinută în prezent de Firefox 3.6 +.

Utilizarea @ fontface

  @ Font-face {
 font-family: "CalligraphyFLFRegular";
 src: url ("CalligraphyFLF.eot ');
 src: local ("CalligraphyFLF"), locală ("CalligraphyFLF"), format url ("CalligraphyFLF.woff") ("woff"), url ("CalligraphyFLF.ttf") format ("TrueType"), url ("CalligraphyFLF . svg # CalligraphyFLF ") format (" SVG ");
 }
 @ Font-face {
   font-family: "font ta";
   src: url ("fonturi / font_filename.eot");
   src: local ("nume alternativ"), locală ("Alternatename"),
     url ("fonturi / font_filename.woff") format ("woff"),
     url ("fonturi / font_filename.otf") format ("OpenType"),
     url ("fonturi / font_filename.svg # font_filename") format ("SVG");
   }
 h2 {font-family: "Your caractere", Georgia, serif;} 

După cum se poate vedea din exemplul de mai sus, pentru a include caractere fontul ales, o are de a lega la un set de caractere fonttypes pentru acelaşi. Prin urmare, oamenii se refera la ea ca "Kit Font".
Există seturi de caractere disponibile, care permite în mod explicit legătura cu CSS @ font-face de proprietate în temeiul End User License Agreement (EULA).

Resurse utile WebFont:

  • Fonturi disponibile pentru @ font-face încorporarea pagina wiki la http://webfonts.info/wiki/index.php?title=Main_Page
  • Ray Larabie . El este un designer de fonturi de renume, care a făcut sute de fonturi TrueType interesante primare disponibile pentru utilizare pe web. Fonturile sale sunt elegante, decorative, şi jucăuş.
  • Dieter Steffmann este un alt designer de font mare. El, de asemenea, a făcut mai multe fonturi frumoase disponibile pentru oricine de a utiliza.
  • Magazin Font : oferă fonturi proiectate special pentru utilizarea de web. Mai mult de 30 de familii FontFont mai de succes sunt acum disponibile ca FontFonts Web. FontShop are, de asemenea, o analiză detaliată a WebFont ghidul de folosire http://www.fontshop.com/blog/newsletters/pdf/webfontfontuserguide.pdf
  • Squirrel Font : Vitrine toate fonturile pe care rotorul font oferă pentru utilizarea cu @ font-face încorporarea CSS. Squirrel font oferă o cantitate impresionantă de tip, face mort simplu pentru a alege unul afară, şi oferă autostrada "kituri" - caractere de alegerea dumneavoastră, în mai multe formate, ambalate cu demo-ul HTML si CSS care utilizeaza foarte actual @ font-face sintaxa . Acestea oferă, de asemenea, o modalitate de a face propriile @ font-face kituri . Dacă setul de caractere pe care doriţi să utilizaţi a fost autorizat în mod corespunzător (cei care vin cu computerul nu sunt neapărat bine), generatorul produce EOT, SVG, şi hei! Fişiere WOFF.

2009 07 noiembrie 2009

CSS ZOOM - Totuşi, un alt capriciu IE; schimbare 3 pixeli

Timpul şi din nou, atunci când toate celelalte browsere văzute să se comporte aşa cum a spus de normele W3C, spirale RO-ai iesit din dezvoltarea spiritului de aruncat o criza de isterie, care nu par a avea o rezolvare. Doar un astfel de om este această problemă în IE7.

Problemă Declaratie:
Am şi astfel s-ar putea de multe dintre altor dezvoltatori web grave s-au observat mai mult de multe ori că, atunci când există imbricate pluteste in structura, pe hover peste unele link-uri (etichete de ancorare), containerul care conţine pare să transfere câţiva pixeli la dreapta . Am încercat să google soluţii pentru această problemă, dar s-au găsit aproape nici un răspuns rezonabil la ce şi când apare (care ar putea ajuta la prevenirea acestei probleme să se întâmple), prin urmare, nu am găsit o soluţie clară a problemei, fie ...

Soluţie posibilă:
Din experienţă, am preaviz de 90% la sută din adică ori, că această problemă este rezolvată prin adăugarea unui zoom de proprietate în definirea CSS a containerului MIS-se comportă ...

 # Somediv {
       Zoom: 1;
 }

din nou, motivele sunt ambigue ... încercaţi asta ...
Unele elemente din IE au o "hasLayout" de proprietate, care este "adevărat", în mod implicit. Multe comportamente vizuale CSS, de exemplu, un filtru de alfa funcţionează doar pe un element care hasLayout. şi {Zoom: 1} pare să dea elementele vizate de proprietate hasLayout .... Utile? Nu cred ca asa ...

Proprietatea de zoom este, de asemenea, pare a susţinut de Chrome, dar utilizarea sa pe baza caracterului par să facă efect mult mai negativ asupra aspectului meu ... încercaţi să-l, dacă acesta lucreaza pentru tine ... daca nu, marca această pagină în "Zaruri CSS"


2009 28 iulie 2009

CSS2.1 utilizator foaie de stil Agent implicite

Ieri, după ce problema am întâlnit cu Resetează CSS în Google Chrome ... m-am gândit să sape un pic mai adânc în zona de foi de stil User Agent ...
Am gasit acest tabel pe valorile implicite ale CSS2.1 Style Sheets User Agent ... (pentru cei care nu ştiu de ce "Style Sheets agent utilizator" este să urmaţi Ce este agent Style Sheets utilizator (specificaţie) .

Pentru o listă completă a CSS 2.1 User Agent foi de stil implicite click aici


2009 27 iulie 2009

Agent Style Sheets utilizator: Marjele mister în Google Chrome

Ieri, ca orice alt "Ziua Hog solului", am fost de lucru pe anumite aspecte CSS / tableless. Totul mergea bine în IE 7, 3 FF şi Chrome, pana deodată, am văzut nişte marje ne-neglijabile văzut numai în Google Chrome. Deşi foarte ciudat şi worring, a fost un aspect nou bug / că am venit din toata, nu a fost în cele din urmă un condiment în munca mea lumesc. Sad (dar frumos), aceasta s-au stabilit în termen de câteva minute de sonda ...

Practic, se arata ca Google Chrome a ignorat meu CSS Resetează (margin: 0px). Este de fapt a fost cauzat de stil agentul utilizator (-WebKit-padding-start: 40px). Deci, soluţia a fost de a reseta acest stil de stabilirea padding: 0 elementele incorect.
O modalitate buna de a preveni această problemă de la întâmplă la orice element este folosi un globală odihna CSS, după cum urmează

* {Margin: 0; padding: 0;}

Ce este agentul Style Sheets utilizator (specificaţie)?
Următorul fragment este luat din http://meiert.com/en/blog/20070922/user-agent-style-sheets/ link-ul, urmaţi pentru a citi mai multe despre foile de stil User Agent

CSS 1 introduce ideea de afirmând că fiecare agent utilizator (UA, de multe ori un "browser web" sau "web client"), va avea o foaie de stil implicit, care prezintă documente în mod rezonabil - dar probabil lumesc - mod. CSS 2 spune că agenţii în conformitate utilizator trebuie să se aplice o foaie de stil implicit (sau să se comporte ca şi cum au făcut), şi că foaia de un agent utilizator stilul implicit ar trebui să prezinte elemente ale limbii documentului într-un mod care să satisfacă aşteptările generale de prezentare pentru limba documentului; CSS 3 este probabil să fie de aceeaşi minte.

Întrucât specificaţiile CSS-l lase până la implementarea dacă se utilizează un "real" foaie de stil pentru afişare implicit sau nu, nu este uimitor faptul că nu aţi găsit o foaie de stil implicit în folderul de instalare fiecare browser-ului. Spre deosebire de Internet Explorer de la Microsoft, precum Opera, de exemplu (şi în măsura în care ştiu), browsere, precum Firefox Gecko şi Netscape Navigator (căutaţi "html.css"), dar, de asemenea, Konqueror face destul de simplu pentru a înţelege stilul lor implicite.


2009 18 februarie 2009

Adăugarea DropShadow Pentru imagini folosind CSS

Un alt rapid ah. Aici este ceva simplu si frumos folosind puterea de CSS ... dar a fost concieve greu (şi cu siguranţă nu am fost eu) pentru a începe cu. Adăugarea Dropshadow, ar putea fi o peice de tort pentru mulţi dintre noi, folosind unele unelte de editare a imaginilor ca Photoshop ANF focuri de artificii, etc
Motivul de ce, am optat pentru umbra folosind CSS este că, de obicei, creând în acelaşi timp un design pagină / HTML a unei cereri, cerinţele de tine iterarea. Ce vreau să spun este, intr-un site existent, cu multe imagini, cum ar fi cele care afişează freinds listă sau o galerie de imagini, va fi dificil să se reprocesează întreaga încărcătură de imagini care au fost deja descărcate de a adăuga sau elimina umbrele, pentru că chestiune.
Deci, dacă aţi făcut o gândire puţin înainte în timp ce crearea HTMLS pentru a adăuga aceste diviziuni suplimentare sau, de obicei, situaţia este că aveţi o logică Buclă generatoare de aceste icoane / miniaturi în XSL, PHP. Java sau orice altă programare / limbaj de scripting, îl puteţi adăuga oricând, atunci este doar chestiune de spectacol şi ascunde aceste umbre folosind proprietatea display CSS, ca pe clientii cerinţele în continuă schimbare ... am havn't făcut acest tip de gândire înainte înainte de acest lucru ... dar ahev a început acum!

În exemplul de mai jos, imaginea originală este gratuit, iar umbra dropshadows sunt aplicate cum trebuie! De asemenea, am mers un pic extra, folosind trucuri de Tut mele anterioare (Well! acestea sunt, probabil, cel mai scurt varietate de tutoriale, asa ca este justificată doar numindu-le "Tut", "e) cu privire la utilizarea CSS proprietate clipului pentru a scoate în evidenţă doar

Imaginii originale

original_image

CSS DropShadow Rezultate
css_dropshadow_results
Vezi Demo | Descarca fişierelor sursă


2009 17 februarie 2009

Understandng proprietate Clip CSS

De ce nu vreau să înţeleagă acest lucru??? Humm ...!!

Cele mai multe dintre scriitori CSS ar fi de acord că proprietatea CSS clipului este, probabil, unul dintre cele mai ne-utilizate proprietăţi CSS. A fost atât de adevărat pentru mine şi a fost cel mai fericit să-l neglijeze, până când am început modificarea mootools DOUA butonul (PIN) Componenta Slider (cu indicator de Range) .

Nu a fost o sugestie buna de la unul din utilizatorii de componente de a modifica componenta Slider folosind imagini tăiate o cercetare (faţă de o divizie de lăţime variabilă) pentru a indica gama slider. Astfel, a venit timpul meu pentru a intra distracţie, dar ne-Chartered (pentru mine, desigur), apele de proprietate Clip CSS.

Ei bine! cât de greu poate fi? Nu de mult la toate ... da şi nu. Sintaxa de a folosi proprietatea CSS clipului este destul de drept, dar sensul / usuage este un pic croocked. Cu o memorie ca a mea, de fiecare data cand stau de a prelucra pe Script Slider mea ... am tokeep de trimitere înapoi la utilizarea de această proprietate CLIP, pentru a reaminti mă logica pe care am creat în script-ul meu .... Prin urmare! gândit să-l stilou, cu o speranţă să-şi amintească că în viitor (şi, de asemenea, pentru beneficiul celor care par boggled de proprietate clipului CSS)

Ce face clipului CSS face?

Clipul este parte din modulul de efecte vizuale de CSS 2.1. Pur şi simplu pune, treaba lui este de a plasa o fereastră vizibil pe partea de sus a unui obiect care se tunde, tăiere, prin urmare, crearea de imagini şi miniaturi fără a crea fişiere suplimentare (am pus deja această funcţie pentru o mai bună utilizare în componenta Slider :) )

Utilizarea proprietăţii clipului CSS, se poate crea o decupare folosind forma de rect. Ca multe alte proprietăţi CSS (cum ar fi marja, etc padding), folosind rect nevoie de patru coordonate Sus, dreapta, jos, stânga (TRBL). Natura croocked a reflecta această proprietate, atunci când ia o privire mai atentă la modul în care calculează un clip regiunea de tăiere, utilizarea acestor patru coordonate (creierul trimite într-o aruncare pentru un timp). Acum, pentru a vă confunda partea de jos porneşte de la partea de sus, şi începe de la dreapta la stânga. :) . Puteţi vedea ce am spus? .... Prin urmare, acest post ...

Aceasta confuzie mica poate dispărea cu uşurinţă, cu această explicaţie vizuală a CSS Clip / rect proprietate de mai jos!!

CSS Clip Cerinţe

Sarcina am început este de a decupa imaginea în miniatură urmator intr-o imagine ovala caută (şi, de asemenea, o imagine cu unghi larg)

original_image clip_demo
Thumbnal original / imagine Cerinţe Clip pentru Sqaure Thumbmail

CSS Clip Rezultate

clip_results

Vezi Demo | Descarca fişierelor sursă


2008 12 octombrie 2008

Vertical (şi orizontal), Centrul Alinierea conţinut într-un DIV cu CSS

Înainte de a avea de a face cu CSS pentru a crea machete noastre de pagină, alinierea parte a conţinutului în interiorul unei celule de tabel părea juca doar copil. Pur şi simplu setaţi "alinia" sau "valign" proprietate a tabelului pentru a avea alinierea la alegere, bucata de tort!
Cu aspecte CSS, deşi avem "vertical-align" proprietate pentru elemente, nu pare a fi la fel de simplu ca "alinierea" sau "valign" proprietăţi. Pentru a fi mai specifiic "vertical-align" nu pare să rezolve niciuna dintre problemele tale, mai ales în cazul în care se scrie o bucata de cross-browser CSS.

Fără utilizarea de tabele HTML, problema de centrare pe obiect, fie o imagine sau un text într-o divizie de conţinut, probabil a fost de fiecare UI / CSS coşmar dezvoltatorii la un moment dat. Această problemă se extrapolează în continuare de grijile de aliniere, în cazul în care obiectul care urmează să fie centrat este dinamic în natură, adică atunci când înălţimea acestuia este variabilă (înălţimea necunoscut).

Deşi nu există o soluţie cunoscut drept înainte, că ar lucra în gama de browsere pe care le avem de a face cu, soluţia pe care am încercat să ajungă la nu pare să funcţioneze în browserele cateva pe care eu l-am încercat în (IE6, IE 7 , FF).

SOLUTIE:
În browsere, cum ar fi Mozilla, Opera şi Safari, comportă ciudat "vertical-align" proprietate poate fi adus la simţurile sale, pur şi simplu prin stabilirea de "afişare" a diviziei de proprietate conţinând la "masa-celula" (afişare: masă de celule) .

Problema rămâne în continuare cu familia IE browsere, care, dar nu par să înţeleagă ce sa cu "masa de celule" de proprietate şi de ignorant cum sunt, ele ignora pur şi simplu. Soluţia de mai jos, deşi simple, anunturi câteva elemente mai DOM HTML la pagina dumneavoastră de a face lucrurile sa se intample.

CSS şi HTML arata ca acest
.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/> vizualizări: 3456 </ div>
</ Div>
</ Div>

Rezultatul arata ca aceasta: -

HTML_CSS_vertical_align_vertical_middle_aligned_images

vezi demo aici | Files download source (Descarcat de 452 ori)


Înţelegerea soluţia:
Pentru browserele care inteleg de afişare: masă şi de afişare: masa de celule proprietăţi, are nevoie de nici o explicaţie foarte rar. Pentru IE, cu utilizarea unui hack IE specific (hack hash), am absolut poziţionaţi recipientul obiect (obj_container), în jumătate din înălţimea disponibile. Apoi, obiect (obj) este în poziţie relativ şi este mutat de jumătate din înălţimea sa ... bine! Am par să înţeleagă aspectul pe fata ta, dar funcţionează. Încercaţi să-l!
Tehnicile de mai sus sunt combinate pentru a ne da soluţia de mai sus browser-ul cruce.


CSS poate fi uşor modificate pentru a realiza ca de mai jos, vertical-align: top sau vertical-align: partea de jos

TOP Alinierea 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/> vizualizări: 1234 </ span>
</ Div>
</ Div>

Rezultatul arata ca aceasta: -

HTML_CSS_vertical_align_vertical_top_aligned_images

JOS Alinierea 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/> vizualizări: 1234 </ span>
</ Div>
</ Div>

Rezultatul arata ca aceasta: -

HTML_CSS_vertical_align_vertical_bottom_aligned_images

vezi demo aici | Descarcă de aici


Orizontală centrare a obiectului pur şi simplu, realizat cu marja de proprietate, prin stabilirea marjei de stânga şi de marja de-dreptul la auto

Se pare ca varsta, deoarece am fost încercarea de a găsi o soluţie rezonabilă pentru această problemă de aliniere. Dar acum, cu această soluţie, mă simt la pace puţin.

Cu o speranta ca intr-o zi

  • vertical-aliniere proprietate în CSS va funcţiona ca o face in interiorul unei celule de tabel, fără să bată mai mult în jurul lui Bush
  • Cel puţin, stabilirea marjei de-top: auto si margin-bottom: auto, ca va da acelaşi rezultat ca şi cu marja de stânga şi de setul de marja de-a dreptul de auto
  • Războaiele browser va fi peste o zi.
  • Nu va fi doar un browser de ALL.

Descărcaţi CSS şi HTML de soluţie de mai sus, aici (Descarcat de 452 ori) .. pentru inteligibilităţii, CSS nu este optimizat

PS: Si apropo, cei care sunt miniaturi ale unor poze le-am dat clic pe ... :)


2008 10 octombrie 2008

NU pentru numai pentru IE - Selectori CSS copii nu funcţionează în IE

CSS pentru non-IE browsere: ei nici o veste de la dezvoltatorii de CSS care, CSS Selectori pentru copii, cum ar fi exemplul de mai jos, nu par să lucreze în IE.

de exemplu, div span> {unele} CSS, înseamnă că "atunci când un element de control este un copil (şi nu un nepot sau un copil mare mare, etc) a unui element de divizare".

Dar am folosit acest context pentru avantajul nostru. Punct de vedere istoric, selectorul de copil a fost folosit pentru a ascunde comenzi CSS din IE. Pur şi simplu prin plasarea html>body , în faţa a orice comanda CSS IE va ignora:

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

Acest lucru funcţionează pentru că <body> este întotdeauna un copil de <html> - poate fi, desigur, nu un nepot sau mare-nepot de <html> .

Acum, că IE 7 înţelege selectorul de copil, trebuie să introduceţi o etichetă comentariu gol în direct, după mai mare decât semnul IE 7 nu va înţelege acest lucru, atunci selectorul de (cine stie de ce?!) Şi, prin urmare, va ignora total această comandă CSS.:

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

Dacă nu s-au văzut deja înainte de acestea, au o citire prin următoarele, precum şi


NDK acasă | Exprimarea IT | Gust Exprimarea | Penmenship Exprimarea | Awe Exprimarea | a mă exprima