CSS3-optie voor "schuine" tekst

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

George van Baasbank

George van Baasbank

03/05/2012 10:15:34
Quote Anchor link
Goedemorgen allemaal,

Ik ben bezig met een statistisch overzicht waarbij boven de kolommen de header komt te staan. Nu wil ik deze header ondcer een hoek van 45graden op mijn scherm krijgen omdat dat minder ruimte in neemt dan een horizontale tekst.
Nu ben ik dus op zoek naar de daarvoor bestemde code in CSS3.
Kan iemand mij hieraan helpen?


George
 
PHP hulp

PHP hulp

25/04/2024 14:19:38
 
Yanick  vB

Yanick vB

03/05/2012 10:26:59
Quote Anchor link
Snel gevonden:
http://www.w3schools.com/css3/css3_2dtransforms.asp

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
div
{
transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(30deg); /* Safari and Chrome */
-o-transform: rotate(30deg); /* Opera */
-moz-transform: rotate(30deg); /* Firefox */
}
 
Chris PHP

Chris PHP

03/05/2012 10:27:44
Quote Anchor link
Even een check,

Als ik het goed lees wil je een header van de table schuin zetten? is dit alleen de tekst of ook de evetuele achtergrond van deze header?

Ik denk dat dit met css3 moeillijk of niet haalbaar is, zoiezo een table header (<th>) schuin zetten gaat niet.

Makkelijkste en slimste maniet lijkt me om in photoshop (of andere) een afbeelding te maken waar het schuin staat en deze dan als achtergrond van de header in te stellen.

Als het overal dezelde header tekst is kun je in CSS gewoon bijv

.th { background-image: url (../images/bg.png) }

doen. en dan vervoglens in je table header <th class="th"></th> en dan zou het goed moeten komen. Geef de th uiteraard wel de juiste dimensies mee.

Mocht je verschillende headers hebben dan kun je dit als volgt doen.
<th style="background-image: url(../images/th1.png)"></th>. Inline style(css) is bij voorkeur af te raden maar ik denk dat je anders geen optie hebt.

Toevoeging op 03/05/2012 10:28:45:

Yanick - op 03/05/2012 10:26:59:
Snel gevonden:
http://www.w3schools.com/css3/css3_2dtransforms.asp

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
div
{
transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(30deg); /* Safari and Chrome */
-o-transform: rotate(30deg); /* Opera */
-moz-transform: rotate(30deg); /* Firefox */
}



Let wel dat jij hier een div rotate en niet een header <th>.

Als het een div betreft mooi, maar volgens mij gebruikt hij een tabel
Gewijzigd op 03/05/2012 10:29:29 door Chris PHP
 
Wouter J

Wouter J

03/05/2012 10:51:03
Quote Anchor link
Quote:
Let wel dat jij hier een div rotate en niet een header <th>.

Geen tabellen gebruiken!!! En als je toch tabellen wilt gebruiken gebruik het dan goed en gebruik <thead> als header en een <th> als header kopje.

En verder een iets betere code van hierboven, dit werkt ook in IE5.5 en hoger:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
#header
{
  -webkit-transform: rotate(30deg);
     -moz-transform: rotate(30deg);
      -ms-transform: rotate(30deg);
       -o-transform: rotate(30deg);
          transform: rotate(30deg);
             filter: progid:DXImageTransform.Microsoft.Matrix(/* IE6IE9 */
                     M11=0.8660254037844387, M12=-0.49999999999999994, M21=0.49999999999999994, M22=0.8660254037844387, sizingMethod='auto expand');
               zoom: 1;
}


En een iets betere link (ipv die w3fools link): https://developer.mozilla.org/en/CSS/transform
Gewijzigd op 03/05/2012 10:53:24 door Wouter J
 
George van Baasbank

George van Baasbank

03/05/2012 10:57:26
Quote Anchor link
Iedereen bedankt. Ik heb de oplossing gevonden.

Voor de liefhebbers de code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
.schuineheader {
    transform:rotate(300deg);
    -ms-transform:rotate(300deg); /* IE 9 */
    -moz-transform:rotate(300deg); /* Firefox */
    -webkit-transform:rotate(300deg); /* Safari and Chrome */
    -o-transform:rotate(300deg); /* Opera */
    font-family: Arial;
    color: white;
    text-align: left;
}
 
Wouter J

Wouter J

03/05/2012 10:59:15
Quote Anchor link
@George, rotate(300deg) kan je naar mijn mening veel beter schrijven als rotate(-60deg), toch?

En als je even op http://css3please.com/ kijkt even scrolld naar .box-rotate daar even -60deg invult en dan op enter klikt kun je ook nog die mooie IE filter gebruiken, dan werkt het ook nog in IE!
 
George van Baasbank

George van Baasbank

03/05/2012 11:15:35
Quote Anchor link
Wouter,

Je hebt gelijk v.w.b. de wiskundige benadering. Het is een gewenning hoe je e.e.a. notert. In mijn css schrijf ik oveel mogelijk als in positieve notatie.

De huyidige code is door mij getest met IE9 en dat gaat goed. Ook de test met Safari verliep goed.

George
 
Wouter J

Wouter J

03/05/2012 11:17:43
Quote Anchor link
Ja, maar lager dan IE9 gaat fout. Dus je zult echt die filter moeten toevoegen wil je een beetje goede resultaten scoren in alle browsers.
 
Chris PHP

Chris PHP

03/05/2012 11:23:36
Quote Anchor link
Wouter J op 03/05/2012 10:51:03:
Geen tabellen gebruiken!!!



Wat? Sorry maar als ik data uit een db wil hebben, doe ik dat in tabellen.
Hoe wil je dat fatsoenlijk met divjes gaan doen?

Tabellen zijn taboe als het komt om je website vorm te geven, echter voor informatie is er niets mis mee om tabellen te gebruiken!
 
Wouter J

Wouter J

03/05/2012 11:24:24
Quote Anchor link
Quote:
Tabellen zijn taboe als het komt om je website vorm te geven, echter voor informatie is er niets mis mee om tabellen te gebruiken!

Dat weet ik ook... Alleen dit is een vraag over een HEADER dan gaat het dus over een lay-out en dus moet je hier geen tabellen gebruiken.
 
George van Baasbank

George van Baasbank

03/05/2012 11:27:24
Quote Anchor link
Wouter,

Ik heb je filter geplaatst. Kan alleen niet zien of het werkt. Heb zelf IE9

George
 
Chris PHP

Chris PHP

03/05/2012 11:29:25
Quote Anchor link
George van Baasbank op 03/05/2012 11:27:24:
Wouter,

Ik heb je filter geplaatst. Kan alleen niet zien of het werkt. Heb zelf IE9

George


Als je in IE9 op F12 drukt krijg je het ontwikkelings scherm.
Daar kun je terug gaan naar IE8 en IE7 :D werkt super 3 browsers in 1!
 
George van Baasbank

George van Baasbank

03/05/2012 12:03:26
Quote Anchor link
Chris,

Ik heb met jouw aanwijzing de optie IE7 en IE8 getest. Het werkt perfect. Maar ik kom wel andere fouten/zaken tegen. Zo kennen IE7 en IE8 dus de tag <header> niet en gaat het volledig mis. Als ik deze tag wijzig in een <div> gaat het wel goed. Het gaat hier om het centreren van de headerafbeelding.
Hoe kan ik dit soort "problemen" in mijn HTML5-code opvangen? Wie weet dit?

George
 
Chris PHP

Chris PHP

04/05/2012 12:25:55
Quote Anchor link
Hebben die 'header' div's een fixed size?
Dan kun je ze toch gewoon 'uitlijnen' met margin?
 
Wouter J

Wouter J

04/05/2012 12:30:40
Quote Anchor link
George,

Dat lagere IE versies niet goed omgaan met nieuwe HTML5 tags komt doordat ze ze niet herkennen. Ze krijgen dan niet de standaard display: block; stijl mee, waardoor ze verkeerd gaan. Je zou dit mee kunnen geven via de CSS:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
article, aside, details, figcaption,
figure, footer, header, hgroup, nav, section
{
    display: block;
}


Maar er gebeurd meer, deze tags worden ook niet goed opgenomen in de DOM (dat moet wel gebeuren). Beter is het om html5shiv in te laden zoals getoond word top die link. De stijl hierboven heb je dan niet nodig en alles werkt dan perfect.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.