Slice grafik op, til brug i <form>

Tags:    css html photoshop

<< < 12 > >>
Hej alle UV´er

Hvordan gør I, når I laver grafik til en form i HTML?
Jeg har kigget på lidt forskelligt på nettet, og har da også fundet en metode, synes dog ikke den er helt optimal (måske er det bare mig), så jeg ville høre om der findes en smartere måde at gøre det på.

Tag fx det her billed eksempel :
http://nas.bimer.dk/elenaradef/images/nyhedsbrevtest.png

Hvordan vil i dele grafikken op, og integrere den i Jeres web ved hjælp af CSS?

Jeg har gjort mig et forsøg på noget lign, det kan ses her:

http://nas.bimer.dk/elenaradef <- den der nyhedsboks til højre.

Metoden jeg har brugt her, er at lave grafikken i Photoshop, eller selve baggrunden. Input felterne har jeg lavet selvstændigt, og har gemt dem i str. 1 x 35 px. Så i CSS siger jeg bare de skal have en hvis længde og laver en repeat på bg image. Derefter positionere jeg det med pos:relative, og left: og top:.

Jeg synes bare metoden er en anelse langhåret, hvis det skal være en længere form, så kan man gøre det på en smartere måde ?

Smid MEGET gerne link til tutorials eller lign :)

PFT

/Christian



11 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 21 karma
Sorter efter stemmer Sorter efter dato
Valdemar: Det er jeg klar over, det er ikke photoshop delen jeg har problemer med, det er at integrere det til web ;)

Fx: hvis jeg aflevere det her billede til dig :http://nas.bimer.dk/elenaradef/images/nyhedsbrevtest.png


Hvordan vil du så gribe det, i forhold til at du skal implementere det i en <form> ?


Daniele kommer med en god forklaring.

Dog ville jeg ændre en lille smule:

Fold kodeboks ind/udHTML kode 


(har fjernet en ligegyldig <div>, og sat id'et i <form> istedet.. En mindre detalje, men placerer man mange af disse ligegyldige <div> så kan koden i sidste ende godt blive lidt uoverskuelig.

Fold kodeboks ind/udCSS kode 


Har sat #form foran alt, så css'en kun har indflydelse på denne éne <form>.

Samt fjernet css'en for billedet, da jeg ikke synes der er nogen grund til at sætte særlig meget der, med mindre det ikke passer.



Så ville jeg sige at du skal ligge det op nogenlunde således:

HTML
Fold kodeboks ind/udHTML kode 


CSS
Fold kodeboks ind/udCSS kode 


Noget i den stil? Husk, ikke testet!



Indlæg senest redigeret d. 22.12.2011 11:25 af Bruger #16025
Spændende! Her er hvordan jeg ville gribe det an.

Først ville jeg som du har gjort opdelt billedet i 2 dele - baggrunden med brevet og gradient delen - jeg ville nok ikke bruge 2 png'er men i stedet lave en sprite til det, men mit eksempel er med 2 png'er...tsk tsk :)

Jeg ville så nok fjerne teksten på billedet, det bruger nemlig samme font som der benyttes i menuen, så hvorfor ikke udnytte det og lave et label - der er foreslået at lave det som en h1'er, men rent semantisk set bør det nok være et label med en for der peger på input feltet.

Ok html'en:

Fold kodeboks ind/udHTML kode 


Det bliver ikke simplere. Jeg har tilføjet lidt HTML5 attributer såsom type="email" og required - prøv det i Google Chrome, den vil kun acceptere valide emails der og give et tooltip hvis feltet ikke er udfyldt...helt gratis - nice! :D

CSS'en:
Fold kodeboks ind/udCSS kode 


Man kan altid diskutere om hvorvidt det er hensigtsmæssigt at bruge tag selectors og ikke class eller id, men jeg kan godt lide ikke at klaske for meget på html'en og hvis siden er simpel er det jo fint nok.



Du kan jo give alle dine input-felter en fælles class, og så i dit stylesheet definere baggrund mv.

f.eks.

Fold kodeboks ind/udHTML kode 


Og så i css:

Fold kodeboks ind/udCSS kode 




Indlæg senest redigeret d. 21.12.2011 21:12 af Bruger #10410
Hej Valdemar.

Det er faktisk også det jeg gør nu, (har dog brugt # lige i denne sammenhæng)

Synes bare at når man laver hele grafikken i photopshop, ala det billede jeg linker til øverst, så er det lidt irriternede at skulle slice input felterne op, fjerne dem fra baggrundsbilledet osv, inden man igen sætter det sammen i CSS.

Jeg tænker at der næsten må være en smartere måde at gøre det på.



Nåh okay :D -Tror jeg misforstod dit spørgsmål en anelse så.

Har du hørt om lag i photoshop? Det kunne jeg forestille mig var noget du kunne bruge!

Med lag i photoshop kan du have forskellige "billeder" liggende oven på hinanden, og du kan redigere i de enkelte lag, uden at ødelægge de andre.
Og du kan self. flytte om på lagrækkefølgen osv.

Det burde give rimelig meget sig selv.
Du laver et nyt lag sådan her: ctrl+shift+n (hvis jeg husker rigtigt)

Du kan evt. læse en masse tips og tricks omkring brugen af lag her: http://www.pcworld.dk/art/7043/leg-med-lag-i-photoshop
(ikke nødvendigt, men det kan være meget godt at vide hvad man ellers kan bruge sine lag til)



Valdemar: Det er jeg klar over, det er ikke photoshop delen jeg har problemer med, det er at integrere det til web ;)

Fx: hvis jeg aflevere det her billede til dig :http://nas.bimer.dk/elenaradef/images/nyhedsbrevtest.png


Hvordan vil du så gribe det, i forhold til at du skal implementere det i en <form> ?



Lige med input felterne ville jeg gøre det med CSS3.
CSS3 Gradient background



Hej Daniele

Det er også en fint eksempel, men jeg søger mere den overordnede måde at angribe det på. :)



@Valdemar, jeg kan godt se din pointe i koden. Men jo mindre at han har flere form's på sin hjemmeside ville jeg mene at det er unødvendigt med et ID på sin form. Der kunne han selvfølgelig bare skrive

Fold kodeboks ind/udCSS kode 


Men jeg kan godt se hvad du mener. +2 til dig @Valdemar fra min side af, fordi at du rettede en dum fejl i min kode :).



Indlæg senest redigeret d. 25.12.2011 01:05 af Bruger #16025
<< < 12 > >>
t