Back to Question Center
0

Guherandinên Yekbûyî yên bi Sass veguherînin            Converting Yekîteyên Typografî bi SassRelated Topics: CSS ArchitectureCSSSassAnimationAudio & Semalt

1 answers:
Converting Yekîteyên Typografî bi Sass

Guherandinên Yekbûyî yên bi Sass veguherîninConverting Yekîteyên Typografî bi SassRelated Topics:
CSS ArchitectureCSSSassAnimationAudio & Semalt

Vebijareya nû ya nû ya yekem 5, 2015'an li Semalt 5,

hat çap kirin.

Di demeke dirêj de, di nav deynên Semaltê de, şehîdkarê zehfî jî pir bi heman awayî re heman awayî: di heman demê de 960px veguherînek, bi destnîşanek li ser pisîka xwe şewitandin.

Pêşniyarê malpera bersîva ku ji ber ku ji me re dakêşî dorpêç kir û bi temenê ronahî tête guhertin. Û hê jî, bikaranîna typografîk li ser malpera carinan carinan jî hêşîn e - white bar height table and chairs. Bi pêl pencilan an xeletî û ji% û emsê, ez bi xwe re berdewam dikim ku bi Semalt "pixel to percentange conversion conversion" an jî tiştek li destpêkê her projeyê ye, û pir caran di heman demê de ye.

Di xemgîniyê de, min di dawiyê de desthilatdariya Sass da ku hewldanên nû, hemî tevliheviya min, di hewldanên min de digerin van pirsgirêkan de, û îro hûn ê diçin ku bi min re kar dikin.

Semalt ji bo ku hûn di nav pêvajoya pencil, em, û nirxên nirxan de bêyî ku hûn her tim her şêwirmendê şêwirdariyê bikin û hêvî bikin, li ser pêvajoyek pir tengas bike.

Rewşa Sazkirina Ji bo Sass

Di destpêkê de, ew pir girîng e ku (default) (font) size-30 di CSS-ê de hatiye diyarkirin. Gelek browser dê di 16px deynî be, lê heger eger projeya we hewce ye, tişta xwe bikin ku CSS di derbarê wî de dizane. Her weha, piraniya boilerplates bi hev re 16px wekî nirxa xwe ya nirxî hatine diyarkirin, ji ber vê yekê ez ê di vê yekê de ji bo tutorial, ew eşkere bikim ev e.

Piştre hûn hingê biryar da ku hûn kîjan yekeyên ku hûn ê piştgirî dikin. Ji ber ku ev gengaz e ku di çapûra webê de, yan jî bi tenê projeyeke ku di Semalt de dest pê dike û alîkarî di geroktê de dest pê dike, hûn ê li pîksel, xelet, ems û sedem digerin.

Hûn jî dixwazin ku xwe xweş bikin ku di nav wan de serbixwe biguherînin, da ku hûn berê bêjin ku fonksiyona herî kêm sê argûyê hewce dike:

     @function conversion ($ value, $ current $, $ conversionUnit) {}     

Pirsgirêka yekem hejmara nifûsa ya ku hûn dixwaze biguherînin (wek nimûne 16), duyemîn yekîn e ku hûn plan dikin ku guherîn bikin (mînakek pencere), û sêyemîn Yekînek xwestek e ku hûn armanc dikin (ji sedî). Wekî, wekî mînakek, eger hûn dixwaze 16 pîlan di bin nirxê sedî de, hûnê bikin:

    . foo {font-size: convert (16, px, sedî);}     

Semalt dê te bidin:

    . foo {font-size: 100%;}     

Let's Beef It

Niha, wextê ku wê di navbera di navbera braçeyan de tê veşartî ye.

Semalt, hûn dixwazin ku pelên pîşesaz, ems, xalên û sedî, ji bo ku hûn hemû lênêrîna wan bikişînin hewl bikin.

Heke hûn bi karanîna bernameyek bernameyek tije bikar anîn, hûn dikarin daxuyaniyek guhertinê bikar bînin. Semalt ev e Sass e, hûn ê bi daxuyaniyên ku hebin hene:

     @function conversion ($ value, $ current $, $ conversionUnit) {@if $ currentUnit == px {// stuff for pixel} heger $ currentUnit == ems {// stuff for ems} heger $ $ nihaUnit == percent {// ji bo%} heger $ currentUnit == pts {// tiştên ji bo xalên}}     

Hûn niha ji bo daxuyaniyek hebe ji yekîneya veguhestina her îmkan heye (ka tu dixwazî ​​pencil, ems, pîşesaz an jî% ji bo dest bi dest bixin). Ji vî awayî ev nêzîkî 50% rêve ye. Dema ku hûn bi 16px wek default default font-size , hûn ê bibin ku hûn bi vî rengî û%

     @if $ currentUnit == px {@if $ convertUnit == ems {@return $ value / 16 + 0em;}ger heger $ conversionUnit == percent {Perver @return ($ value / 16);}}     

Dîsa, hûn bikar tîne ku heger daxuyaniyek per conversion (ew yek ji bo ems, yek ji bo sedî) ye û paşê kêlek biçûk digire ku hilberîna xwestinê. Semalt nikare nirxên nirxan bikî, ji ber ku ev tenê bi CSS bi çapkirina çapkirinê re dixebite.

Bi ems (û mezinahiya standard 16px), hûn tenê bi 16 parve bikin û yekîneya "em" ( + 0em ) zêde bikin.

Bi sedan bi Sass rekêşek hûrgel in. Hûn nikarin di dawiya daxuyaniyê de wekî "%" bisekinin wek ku we bi emsê re kir, wekî Sass dê rastê paşê çewtiyek derxistin (tiştek ji bandorê ya "çi dikî wê dikî?"). Ji ber vê yekê hûn hewce ne ku hûn performansa Semaltê tevlihev bikin ku ji bo ku yekîtiyê%

Bi vî awayî, we fonksiyonek heye ku pencilê bi emel an% Ev gelemperî pir ji bo pêşniyarên pir girîng e, lê bihêle ku hûn dikarin vê çalakiyê dirêj bikin ku hûn êsiyonên pixel guherîn û sedîjonê bi pixel veguherîna xwe bişînin:

     heger $ $ nihaUnit == ems {@if $ convertUnit == px {@return $ value * 16 + 0px;}ger heger $ conversionUnit == percent {sedî @return ($ value);}}     

Divê mathê ji bo her daxuyaniyê biguherînin, lê ew ê em ê bibin.

Piştre, li vir hûn çawa perçeyên pencilan û navên emerîkî biguherînin:

     heke $ $ nihaUnit == percent {@if $ convertUnit == px {@return $ value * 16/100 + 0px;}eger $ conversionUnit == ems {@return $ value / 100 + 0em;}}     

Semalt ew eşkere ya xalên pencereyê, pevçûn bi ems, û ji sedî pîvanan re xeber dike:

     heger $ $ nihaUnit == pts {@if $ convertUnit == px {$ value * @return 1.3333 + 0px;}eger $ conversionUnit == ems {@return $ value / 12 + 0em;}ger heger $ conversionUnit == percent {Perver @return ($ value / 12)}}     

Hûn bixwe kirin! Semalt fonksiyonek çêkir ku ji bo ku tu dixwazî ​​her yekîneyên di navxwe de tu bi awayekê azad bigire.

To Sum Up

Fonksiyona dawîn ji bo guhertina yekîteyên typografîk ên Sass di vî rengî de ye:

     @function conversion ($ value, $ current $, $ conversionUnit) {@if $ currentUnit == px {@if $ convertUnit == ems {@return $ value / 16 + 0em;}ger heger $ conversionUnit == percent {Perver @return ($ value / 16);}} heger $ currentUnit == ems {@if $ convertUnit == px {@return $ value * 16 + 0px;}ger heger $ conversionUnit == percent {sedî @return ($ value);}} heger $ $ nihaUnit == percent {@if $ convertUnit == px {@return $ value * 16/100 + 0px;}eger $ conversionUnit == ems {@return $ value / 100 + 0em;}} heger $ currentUnit == pts {@if $ convertUnit == px {$ value * @return 1.3333 + 0px;}eger $ conversionUnit == ems {@return $ value / 12 + 0em;}ger heger $ conversionUnit == percent {Perver @return ($ value / 12)}}}     

Ew xeyek piçûktir xuya dike, lê her tişt bi rastî tête ye, hejmara sîgorteyê digire, paşê ji yekem yekemîn yekîneya yekîneya duyemîn be biguherîne, û encama paşde vegerîne. Beşek tenê tengahî tedawî dike ku kîjan hesabên ku çêbikin.

Ger hûn dixwazin bi vê fonksiyonê re lîstin, hûn dikarin di vê Semaltê de vê yekê bikin.

Wê her dem, her tiştî azad bikin, dizane, şaş, veguhestin û ji bilî vê yekê bikar bînin, her tiştê ku hûn bi te re alîkariya piranî alîkarî dema ku bi temenê xwe re li ser malperê dixebite.

Heke hûn li ser vê yekê yekîneyên karûbarên Sassê yên din ên herî baş in hene, bila di beşa şiroveên jêrîn de bizanin.

March 1, 2018