Toon posts:

1px border als gradient

Pagina: 1
Acties:

Onderwerpen


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 08:10

chem

Reist de wereld rond

Topicstarter
Ik wil een 1px-border als gradient; nu moet dat kunnen in o.a. webkit, maar ik heb geen flauw idee hoe.

Ter illustratie de bovenkant van de border:

gradient

Nu is de afgeronde hoek geen probleem, maar een gradient ipv een solid border-color krijg ik niet voor elkaar.

Heeft iemand dit al eens gedaan en kan hij mij vertellen hoe? :)

Klaar voor een nieuwe uitdaging.


  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 18-05 09:06

Dark Blue

Compositionista!

Alpenmeisje

Nou, ik vind hier zo al wat...
http://stackoverflow.com/...127/css3-gradient-borders

Had je al gezocht op 'CSS3 gradient border' ?
Je zou ook even goed kunnen kijken naar de ondersteuning door diverse browers.

heidiulrich.nl | adventura.nl / eigenzinnige rugzakavonturen in europa


  • samo
  • Registratie: Juni 2003
  • Laatst online: 12:51

samo

yo/wassup

code:
1
background-color: rgba(255,255,255,0.5);

Niet als gradient (kan volgens mij ook niet in 1px) maar wel doorzichtig. Met rgba kan je als laatste parameter de opacity meegeven.

Bekend van cmns.nl | ArneCoomans.nl | Het kindertehuis van mijn pa in Ghana


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 08:10

chem

Reist de wereld rond

Topicstarter
Dark Blue schreef op woensdag 18 mei 2011 @ 09:28:
Nou, ik vind hier zo al wat...
http://stackoverflow.com/...127/css3-gradient-borders

Had je al gezocht op 'CSS3 gradient border' ?
Je zou ook even goed kunnen kijken naar de ondersteuning door diverse browers.
Ik heb me al de pestpokken gezocht :P ( http://www.webkit.org/blog/175/introducing-css-gradients/ al 3x gelezen en uitgeprobeerd )

De voorbeelden die ze daar aangeven doen een gradient op de verkeerde as voor mij:
"When an element has a border that is larger than a single CSS pixel, each line of pixels uses the next color specified in this property, from the outside in"

Ik wil niet outside-in maar over de lengte van de border...

@samo: hm ja, alleen heb ik dan nog geen gradient; wel een goed idee!

Klaar voor een nieuwe uitdaging.


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 30-03 14:15

OkkE

CSS influencer :+

Zo ver ik weet is zoiets (op dit moment nog) niet mogelijk met CSS3 gradients als border-image.

Ik heb niet ontzettend veel ervaring met CSS3 gradients als border-image, maar border-radius leek niets meer te doen bij het instellen van border-image (iedergeval in -webkit-), en de afzonderlijke border-top-image, etc lijken ook nog niet echt te werken...

Een soort van workaround die ik zo even kan bedenken is een tweede element (bijv. ::before / ::after) van 1px hoog absoluut te positioneren over de border-top heen, en deze een gradient background te geven.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 13-01 10:59
Transparant PNG'tje in de rechterbovenhoek plaatsen op -1/-1? :P

Zie zo met de huidige browsermogelijkheden geen andere oplossing.

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 30-03 14:15

OkkE

CSS influencer :+

Dit is een idee... http://azwart.nl/got/got6.html (Webkit & FF4)

Probleem is de zwarte pixels rechts, van de rounded corners die net over de gradients vandaan komen. Verder is deze oplossing alleen geschikt voor background van één kleur...

De essentie:
.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
div:before,
div::before,
div:after,
div::after {
    content: " ";
    height: 5px;
    width: 100%;
    position: absolute;
    left: 10px;
    top: -5px;
    background: linear-gradient(left, rgba(0,0,0,1) 0%,rgba(255,255,255,1) 100%);
}
div:after,
div::after {
    top: auto;
    bottom: -5px;
}



-- edit --
chem schreef op woensdag 18 mei 2011 @ 09:41:
Ik heb me al de pestpokken gezocht :P ( http://www.webkit.org/blog/175/introducing-css-gradients/ al 3x gelezen en uitgeprobeerd )
[...]
Ik wil niet outside-in maar over de lengte van de border...
Die oplossing is inderdaad niet wat je zoekt; dat is de border (wanneer meerdere pixels) van buiten naar binnen andere kleuren geven.
Je kunt: rood-wit-blauw doen maar ook zwart-grijs-wit, waarbij het tweede geval een gradient geeft.

[Voor 34% gewijzigd door OkkE op 18-05-2011 11:20]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 08:10

chem

Reist de wereld rond

Topicstarter
OkkE schreef op woensdag 18 mei 2011 @ 10:43:
Dit is een idee... http://azwart.nl/got/got6.html (Webkit & FF4)

Probleem is de zwarte pixels rechts, van de rounded corners die net over de gradients vandaan komen. Verder is deze oplossing alleen geschikt voor background van één kleur...
Als ik de rounded borders top-right en bottom-right uitzet ziet het er top uit, en daar zie je de borders toch niet.

Super bedacht, eens zien hoe we dit aan de praat krijgen incl... IE support (maar die uiteraard mét plaatje).

Thanks!

Klaar voor een nieuwe uitdaging.


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 30-03 14:15

OkkE

CSS influencer :+

Voor IE8 en hoger werkt de background-gradient (d.m.v. een filter) wel, alleen het probleem is dat IE8 en lager geen :before en :after ondersteunen. Dus voor IE zal je ben ik bang sowieso extra elementen (of via Javascript) moeten werken. En nog een probleem is uiteraard de border-radius in IE...

Edit: Dat zeg ik verkeerd. Voor IE8 lijkt background-gradient (d.m.v. filter) wel op normale elementen te werken, niet op :before en :after. Wel lijkt IE8 de :before en :after met background-image te ondersteunen. :)

-- edit --

Overgens, bedenk ik me nu, is het denk ik nog netter om de gradient van transparant naar de background-color te laten lopen (van de :before en :after), zo kun je de border-color eenvoudig aanpassen zonder ook je gradients te hoeven aanpassen.

[Voor 49% gewijzigd door OkkE op 18-05-2011 11:59]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 08:10

chem

Reist de wereld rond

Topicstarter
Het werkt, helemaal geweldig \o/

maar voor IE zal het idd nog een klusje worden; ik denk background afbeeldingen en wellicht (als border-radius.htc geen uitkomst biedt) ook de hoekjes maar met afbeeldingen. Stomme IE.

Klaar voor een nieuwe uitdaging.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 13-01 10:59
Volgens mij kun je :before en :after wel redelijk simuleren in IE middels expressions. Dan heb je iig geen JS of extra elementen nodig.

Nadeel is wel dat expressions gruwelijk traag zijn en je dus wel opbouw zult zien.

[Voor 24% gewijzigd door Bosmonster op 18-05-2011 12:02]

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee