Gå til innhold

Webkafeen


Anbefalte innlegg

Kom på en ide. Hvorfor kan ikke css få en slags variabel funksjon? La oss si at du kunne skrive:

 

c1 = #fff

c2 = 000

f1 = Verdana

 

Senere i dokumentet kunne du skrive for eksempel:

 

body {

background: c1;

color: c2;

font-family: verdana;

}

 

På den måten kunne en jo enkelt kun endre denne "farge-/fontpaletten" når en ville ha en annen stil for siden.

 

Er dette umulig å få inn i css uten å la det få php-lignende funksjoner?

Lenke til kommentar
Videoannonse
Annonse
Tenker du på Opera under linux?

Plugins i Opera under linux ja.

 

Kun hos meg 9.5 klikker hver time?(Bokstavlitalt, kjører flot men så etter ca. en time klikker helle driten)

Har holdt meg til de nyeste weeklyene i det siste, og det har stort sett gått bra. Spesielt nå som "opera kræsjer hvis en side med oppstartende flash-sak skal lukkes"-feilen er fikset. Så nå har jeg kanskje en kræsj annenhver dag ellerno. I Ubuntu altso.

Lenke til kommentar
Det som jeg synes CSS også mangler er muligheten å kunne definere ulik fontstil avhenging av hvilken font som blir brukt av nettleseren, feks. størrelse, farge, weight, letterspacing, osv. Sånn at man får bedre kontroll over typografien.

 

Nå er det vel installerte fonter på brukerens maskin som er det interessante her, selv om de fleste nettlesere har innstilling for "standard" font. Men den bruker bare når font-family ikke er angitt i stilarket, eller intet stilark finnes eller man slår av CSS.

 

Men skal det kunne fungere må altså stilarket kunne vite hvilke OS som kjøres og hvilke fonter som finnes installert. I og med at samme font ikke nødvendigvis er helt identisk i alle OS-er. Og det å skulle hente ut såpass mye opplysninger fra "klienten" er vel ikke mulig i dag, selv om vi kan finne ut en del. Det er spørsmål om sikkerhet også knyttet til dette.

 

Det er også særdeles ulogisk å legge inn ren "program-/applikasjonslogikk" i noe som brukes til å definer "utseende". Kontroll over typografien må man skape med rett fontvalg i forhold til "fallback" og testing.

Lenke til kommentar

Nå er det vel ikke snakk om å hente opplysninger fra klienten, men at klienten setter typografien forskjellig ut fra hvilke skrifttyper den har tilgjengelig. Om utvikleren setter opp Arial og Times New Roman i stilsettet, håper jeg at alle ser de store forskjellene det er på disse to skrifttypene, og at det ikkje nødvendigvis blir pent med like css-egenskaper. Hvis klienten ikke har Arial, og må velge Times, kunne utvikleren hatt mulighet til å fortelle klienten at Times skal vises på den og den måten, i motsetning til Arial som skal vises sånn og sånn. Ulempene med at skrifttyper mangler blir mindre, siden du kan optimalisere for begge typene.

 

Sikkerhetsspørsmålet du stiller ser jeg liten grunn til, da vil det være problematisk å sette forskjellig bakgrunnsafarge på <img> og <div>.

Lenke til kommentar

Dersom man setter sans-serif og serif skrift som alternativer i font-family, da er vel man ute på bærtur uansett. Prinsippet er jo at man lager fallback som gir mest mulig likt utseende uansett.

 

Spørsmålet vedrørende sikkerhet er ikke knyttet til CSS, men til det å hente ut informasjon fra klientmaskina. I og med at en slik løsning primært krever at man må lese ut informasjon om hvilke skrifter som er installert for å få det til å fungere, gis det en potensiell åpning for kjøring av farlig kode. Jeg sier ikke at det vil skje, men en slik løsning krever en helt annen angrepsvinkel for å tilfredsstille sikkerhetskrav. Pr dato kan installerte skrifter kun finnes ved enten å lese bestemte kataloger eller konfigurasjonsfiler på klient-PCen (f.eks registeret i Windows).

 

Altså må man en eller annen plass hente informasjon om tilgjengelige skrifttyper, uten det har ikke klienten mulighet til å gjøre noe valg. Opplysningene må hentes, akkurat slik som gjøres i dag når det gjelder hvilken nettleser, hvilkes OS osv.

 

Det er klart mulig å få til en løsning som kan gi alternative stilark avhengig av installerte skrifter, men det krever at man via en eller annen form for test/request kan sjekke dette. Trolig vil dette for det første kreve utvidet funksjonalitet i selve nettleseren (for å unngå direkte lesing i klientmaskinens grunnsystem), samt at selve testen enten må skje ved hjelp av JS eller ren serverside programmering. CSS er ikke konstruert for denne type logikk og vil i realiteten aldri kunne brukes uten å redefinere CSS til noe nærmere et scriptspråk. Gjør man den endringen, er det klart at man kan la CSS teste omtrent som følger.

 

if installed "font" = "Arial"
  use section 1
elseif installed "font" = "Verdana"
  use section 2
elseif
  ....

 

Eller Case for den del.

 

Men det vil fort lage både komplekse og meget omfattende CSS-filer. Tenk at man skal lage versjoner for 4 - 5 fonter og i tillegg ta hensyn til OS. Men dette krever også at nettleserene må gis ny funksjonalitet for å prosessere en CSS-fil med annen type logikk.

 

Men realiteten er at legger man en slik funksjonalitet i nettleseren, vil det være langt mer hensiktsmessig å legge den inn slik at man kan bruke JS eller serverside for å hente/pushe rett stilark. Da opprettholder man skille mellom innhold/struktur, applikasjoner(funksjonalitet) og presentasjon.

Endret av Bolson
Lenke til kommentar

Det er ingen som har sagt noe om å hente informasjon fra klienten, så argumentet ditt faller litt i grus, Bolson. Det var snakk om å kunne definere forskjellige regler for forskjellige skrifttyper i CSS-filen. Altså ingen behov for scripting eller serverside logikk. Sikkerhetsargumentet ditt er altså fremdeles ikke aktuelt, siden det ikke er snakk om å generere noe -- tanken var at nettleseren skulle ta seg av dette ene og alene ut fra hva som står i et enkelt stilark -- som gjelder for alle tilfeller.

 

font: Arial serif 1em, sans-serif 1.2em/2;

 

Eksempelet med sans-serif og serif var, som jeg tror du forstod, et eksempel for å understreke det ekstreme.

 

Jeg er av den oppfatning at CSS bør holdes enkelt og oversiktlig, og ønsker egentlig ikke noen slik funksjonalitet.

Lenke til kommentar

Fremdeles er ikke det løst 100% hvordan man skal velge ut rette stilattributtene konsekvent (når egentlig bare font-family har fallback). Men du har rett i at dersom det er fallbackregler vi snakker om så trengs ikke særlig logikk (dersom rekkefølgen er rett) og det sikkerhetsrelaterte er lite aktuelt.

 

Man må uansett da endre spesifikasjonene for CSS en god del, og renderingsmotorene må også endres for å håndtere utvidet fallback.

 

Nå oppfattet jeg også MC2 slik at det var langt mer en font-attributtene som skulle kunne endres avhengig av hvilken font PC-en hadde tilgjengelig, noe som klart gjør dette til å være relativt komplisert, blant annet en del text-attributter er omfattet. Jeg oppfattet problemstillingen som å ha "høy typografisk" kontroll og når man da vet at til og med "Arial" kan være ulik på ulike plattformer, da holder heller ikke fallback til "høy typografisk" kontroll. Særlig standard "sans-serif" varierer jo "grasatt". otf er definert som identisk over plattformer, ttf er langt fra det. Men jeg forstår jo nå at jeg har oppfattet deg feil.

 

Det medfører også et praktisk problem, knyttet til konsekvent fallback, i og med at du må ha det på mange steder. Fort gjort å surre til det (med komplekse CSS-oppsett), med der er vi på linje ser jeg.

 

Derfor ser jeg en annen angrepsvinkel som eneste muligheten til å få "nesten perfekt" typografisk kontroll. Derfor vinklinga på mitt svar, som er i tråd med hvordan løse problemet med enkelt å skifte ut alle typer variabler i CSS-filer. Skyldes sikkert at jeg bruker "serverside" generering av deler av CSS-en stadig vekk.

Endret av Bolson
Lenke til kommentar
...og selvfølgelig Christvertising :D

Hva i all verden?? Er den siden seriøs? Ser jo ut som en skikkelig tulleside, men amerikanere finner jo på så mye rart...

 

Fin stripe, selv om den hadde vært bedre med et annet eksempel på "your company's app". Sånne registreringsskjemaer har jo både Apple og Gooogle også. Poenget er imidlertid veldig godt. :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...