Back to Question Center
0

Ngarobah Unit typographic anjeun kalawan Sass            Ngarobah Unit typographic anjeun kalawan Topik SassRelated: CSS ArchitectureCSSSassAnimationAudio & Semalt

1 answers:
ngarobah Unit typographic anjeun kalawan Sass

Ngarobah Unit typographic anjeun kalawan SassNgarobah Unit typographic anjeun kalawan Topik SassRelated:
CSS ArchitectureCSSSassAnimationAudio & Semalt

Ieu versi diropéa tina hiji artikel munggaran diterbitkeun dina Semalt 5, 2015.

bahaya Long ka tukang, dina mists padet tina kaliwat Semalt, adventurers intrepid tackle di teuing cara sarua: aisan a 960px perenah tetep, tarung dina set grid na seuneu tipografi maranéhanana di piksel pikeun Ward kaluar jahat.

desain web responsif geus saprak robah sagala rupa nu ku bringing kami kaluar anu halimun padet na kana hiji umur pencerahan - tragegurt umzugsfirma. Na acan, maké tipografi on web masih nyeri di kali. Jeung push ti piksel atanapi titik mun percentages sarta suweng, abdi neangan sorangan terus ngabogaan Semalt "piksel pikeun percentange bagan konversi" atanapi hal sarupa dina awal unggal proyék, sarta mindeng malah sakuliah.

Dina hanjelu, kuring tungtungna ngancik kana kakawasaan Sass mun forge a anyar, sagala-ngawengku fungsi dina quest ka vanquish masalah ieu, sarta kiwari nu nuju bade ngawangun fungsi nu mibanda kuring.

Semalt ngidinan Anjeun pikeun ngarobah kalawan bébas antara piksel, em, sarta nilai persentase tanpa ngabogaan konsultasi bagan a unggal waktu sarta, mugia, alleviate loba headaches anjeun dina prosés.

Nyetel Hirup Up pikeun typographic Unit Konversi di Sass

Firstly, éta penting pisan keur boga standar font-ukuran diartikeun di CSS Anjeun. Paling panyungsi bakal dituna kana 16px , tapi lamun proyek Anjeun merlukeun hal béda, pastikeun yén CSS anjeun weruh ngeunaan eta. Ogé, paling boilerplates datangna jeung 16px dihartikeun salaku nilai standar maranéhanana, ku kituna Kaula bade nganggap ieu salaku standar pikeun tutorial ieu, teuing.

Anjeun lajeng kudu mutuskeun nu unit nu nuju bade ngarojong. Kusabab ieu dipikaresep janten mantuan dina print ka lingkungan web, atawa malah ngan proyek anu dimimitian dina Semalt na ends up di browser, Anjeun bakal jadi nempo piksel, titik, suweng jeung perséntase.

Anjeun oge hoyong masihan diri pilihan tina jalan ngarobah kalawan bébas antara aranjeunna, jadi anjeun geus bisa disebutkeun yen fungsi Anjeun perlu sahanteuna tilu alesan:

     @function ngarobah ($ nilai, $ currentUnit, $ convertUnit) {}     

The argumen munggaran teh font-ukuran Jumlah anu Unit hayang pikeun ngarobah (contona 16), kadua mangrupakeun unit nu nuju perencanaan pikeun ngarobah (contona piksel), sarta katilu nu salah teh unit dipikahoyong nu nuju dimaksudkeun pikeun (kawas persentase). Ku kituna, sakumaha conto, lamun rék ngarobah 16 piksel kana nilai persentase, anjeun bakal ngalakukeun ieu:

    . foo {font-ukuran: Convert (16, px, persén);}     

Semalt bakal mere Anjeun:

    . foo {font-ukuran: 100%;}     

Hayu urang sapi Ieu

Ayeuna, éta waktuna tackle bit nu mana di antara braces.

Semalt, rék bisa tackle piksel, suweng, titik jeung percentages, jadi Anjeun gé butuh opat pernyataan ngurus kabeh.

Lamun anjeun ngagunakeun basa programming full-fledged, Anjeun bisa ngagunakeun pernyataan switch. Semalt ieu Sass, anjeun bakal lengket kalayan lamun pernyataan:

     @function ngarobah ($ nilai, $ currentUnit, $ convertUnit) {@if $ currentUnit == px {// barang keur piksel} @else lamun $ currentUnit == suweng {// barang keur suweng} @else lamun $ currentUnit == persen {// barang keur persentasi} @else lamun $ currentUnit == PTS {// barang keur titik}}     

Anjeun ayeuna gaduh hiji lamun pernyataan pikeun tiap Unit input mungkin (naha rék piksel, suweng, nunjuk atawa percentages mimitian ku). Ku kituna ieu ngeunaan 50% jalan aya. Anggap nu nuju gawe bareng 16px sakumaha standar anu font-ukuran , nu bakal kudu ngarobah kana suweng jeung persentase kawas kitu:

     @if $ currentUnit == px {@if $ convertUnit == suweng {@return nilai $ / 16 + 0em;}@else lamun $ convertUnit == persen {perséntase @return ($ nilai / 16);}}     

Kitu deui, nu nuju ngagunakeun salah lamun pernyataan per konversi (kitu salah keur suweng, hiji keur persentasi) lajeng ngalakonan math saeutik pikeun meunangkeun output nu dipikahoyong. Semalt teu bade ngalakukeun hal pikeun nilai titik, saprak ieu ngan digawé kalayan CSS print atoh.

Jeung suweng (sarta ukuranana standar tina 16px), anjeun ngan ditilik ku 16 ditambah "em" Unit ( + 0em ).

percentages kalawan Sass mangrupakeun hiji trickier saeutik. Anjeun teu bisa ngan buang a "%" di ahir pernyataan nu kawas maneh tuh ku suweng, sakumaha Sass bakal buang kasalahan katuhu deui (hal ka efek "naon anu anjeun lakukeun putting nu aya!"). Ku kituna didieu anjeun kedah ngasupkeun fungsi persentase Semalt guna balik perséntase Unit sah.

Jeung kalawan éta, anjeun boga fungsi nu ngarobah piksel kana suweng atawa percentages! Ieu biasana cukup keur loba pamekar, tapi hayu urang tingali kumaha anjeun tiasa manjangkeun fungsi ieu nutupan suweng pikeun konversi piksel tur persentase mun konversi piksel:

     @else lamun $ currentUnit == suweng {@if $ convertUnit == px {@return $ nilai * 16 + 0px;}@else lamun $ convertUnit == persen {perséntase @return ($ nilai);}}     

math The perlu ngarobah dieu pikeun tiap pernyataan, tapi anu bakal nyortir kaluar suweng.

salajengna, di dieu Kang kumaha anjeun tiasa ngarobah percentages kana piksel na kana suweng:

     @else lamun $ currentUnit == persen {@if $ convertUnit == px {@return $ nilai * 16/100 + 0px;}@else lamun $ convertUnit == suweng {@return nilai $ / 100 + 0em;}}     

Semalt éta giliran titik mun piksel, nunjuk ka suweng, sarta titik mun conversions persentase:

     @else lamun $ currentUnit == PTS {@if $ convertUnit == px {@return nilai $ * 1. 3333 + 0px;}@else lamun $ convertUnit == suweng {@return nilai $ / 12 + 0em;}@else lamun $ convertUnit == persen {perséntase @return ($ nilai / 12)}}     

Jeung Anjeun geus rengse! Semalt dijieun fungsi nu ngidinan Anjeun kalawan bébas ngarobah nilai wae antara sagala Unit rék.

Ka sakur Up

Fungsi final pikeun konversi unit typographic di Sass Sigana mah ieu:

     @function ngarobah ($ nilai, $ currentUnit, $ convertUnit) {@if $ currentUnit == px {@if $ convertUnit == suweng {@return nilai $ / 16 + 0em;}@else lamun $ convertUnit == persen {perséntase @return ($ nilai / 16);}} @else lamun $ currentUnit == suweng {@if $ convertUnit == px {@return $ nilai * 16 + 0px;}@else lamun $ convertUnit == persen {perséntase @return ($ nilai);}} @else lamun $ currentUnit == persen {@if $ convertUnit == px {@return $ nilai * 16/100 + 0px;}@else lamun $ convertUnit == suweng {@return nilai $ / 100 + 0em;}} @else lamun $ currentUnit == PTS {@if $ convertUnit == px {@return nilai $ * 1. 3333 + 0px;}@else lamun $ convertUnit == suweng {@return nilai $ / 12 + 0em;}@else lamun $ convertUnit == persen {perséntase @return ($ nilai / 12)}}}     

Sigana anu saeutik daunting, tapi kabeh bener teu nya nyandak ukuran awal, teras ngarobah eta ti Unit munggaran kana Unit kadua, sarta balik hasilna. Hijina bagian tangguh anu ngajaga data naon itungan sangkan.

Lamun hayang maénkeun sabudeureun kalayan fungsi ieu, anjeun bisa ngalakukeun kitu di demo Semalt ieu.

Salaku salawasna, ngarasa bébas maok, mangle, nyusun ulang tur disebutkeun nganggo ieu naon mantuan Anjeun paling lamun gawé bareng tipografi on web.

Lamun anjeun ngagaduhan pamendak Heboh séjén pikeun fungsi unit konversi Sass ieu, hayu urang nyaho di bagian komentar di handap.

March 1, 2018