Jasper
Jasper

Reputation: 1837

Default CSS classes for Metro apps

I was looking for a default CSS stylesheet to use when building Metro apps. I read some things about two default CSS files being included in the dev preview of Blend when you create a new Metro style application. Unfortunately, I don't have the Win8 dev preview running and at the moment I don't have a place to set it up either.

So if someone who does have the preview running could be so kind? From what I understand you only have to open up Blend, create a new Metro style app and the two files (ui-light.css, ui-dark.css) are included in the template. Also see http://www.timmykokke.com/2011/09/discovering-expression-blendstyles/.

Upvotes: 3

Views: 2914

Answers (2)

Andy
Andy

Reputation: 1778

For the developer preview release you could browse the CSS online in the sample gallery: http://code.msdn.microsoft.com/windowsapps/Fragments-91f66b07/sourcecode?fileId=43749&pathId=934384843.

However, you should download the latest Windows 8 consumer preview, and Visual Studio beta for the latest.

Upvotes: 2

Patrick Klug
Patrick Klug

Reputation: 14391

I highly recommend the Windows 8 App Theme color (theme roller) example. With this you can easily roll your own theme by configuring a bunch of colors and it then gives you a CSS file where you can easily see the default css classes.

While this only gives you color classes it is a good start to understand the Windows 8 class names.

Example: For my Windows 8 game I wanted an orange theme that matches the game style a bit better. This is the result of the theme roller example with some modifications I did myself:

/*WinJS custom style overrides - created with http://code.msdn.microsoft.com/windowsapps/Theme-roller-sample-64b679f2
    settings:
    1: 255, 182, 56
    2: 0,0,0
    3: 255, 165, 0
    4: 255,255,255

    removed link color overrides
    */


/*
Text selection color
*/
::selection, select:focus::-ms-value {
    background-color: rgb(255, 165, 0);
    color: rgb(255, 255, 255);
}

/*
Option control color
*/
option:checked {
    background-color: rgb(255, 165, 0);
    color: rgb(255, 255, 255);
}

    option:checked:hover, select:focus option:checked:hover {
        background-color: rgb(255, 177, 33);
        color: rgb(255, 255, 255);
    }

/*
Button control colors.
*/
button[type=submit], input[type=submit] {
    background-color: rgb(255, 165, 0);
    border-color: rgb(255, 165, 0);
    color: rgb(255, 255, 255);
}

    button[type=submit]:hover, input[type=submit]:hover {
        background-color: rgb(255, 177, 33);
        border-color: rgb(255, 177, 33);
    }

/*
Range control colors.
*/
input[type=range]::-ms-fill-lower {
    background-color: rgb(255, 165, 0);
}

input[type=range]:hover::-ms-fill-lower {
    background-color: rgb(255, 177, 33);
}

/*
Progress control colors.
*/
progress, progress:indeterminate {
    color: rgb(255, 165, 0);
}

/*
ListView control colors.
*/
.win-listview .win-container.win-selected:hover {
    background-color: rgb(255, 177, 33);
}

.win-listview .win-selected {
    color: rgb(255, 255, 255);
}

.win-dragoverlay {
    background-color: rgb(255, 165, 0);
}

.win-container.win-selected .win-selectionborder {
    border: 4px solid rgb(255, 165, 0);
}

.win-container.win-selected:hover .win-selectionborder {
    border: 4px solid rgb(255, 177, 33);
}

.win-selected .win-selectionbackground {
    background-color: rgb(255, 165, 0);
}

.win-selected:hover .win-selectionbackground {
    background-color: rgb(255, 177, 33);
}

.win-selectioncheckmark {
    color: rgb(255, 255, 255);
}

.win-selectionhint {
    color: rgb(255, 165, 0);
}

.win-selectioncheckmarkbackground {
    border-top: solid 20px rgb(255, 165, 0);
    border-right: solid 20px rgb(255, 165, 0);
    border-left: solid 20px transparent;
    border-bottom: solid 20px transparent;
}

.win-container.win-selected:hover .win-selectioncheckmarkbackground {
    border-top: solid 20px rgb(255, 177, 33);
    border-right: solid 20px rgb(255, 177, 33);
    border-left: solid 20px transparent;
    border-bottom: solid 20px transparent;
}

.win-rtl .win-selectioncheckmarkbackground {
    border-top: solid 20px rgb(255, 165, 0));
    border-left: solid 20px rgb(255, 165, 0);
    border-right: solid 20px transparent;
    border-bottom: solid 20px transparent;
}

.win-rtl .win-container.win-selected:hover .win-selectioncheckmarkbackground {
    border-top: solid 20px rgb(255, 177, 33);
    border-left: solid 20px rgb(255, 177, 33);
    border-right: solid 20px transparent;
    border-bottom: solid 20px transparent;
}

/*
Command button colors.
*/
button.win-command {
    color: rgb(0, 0, 0);
}

    button.win-command:hover {
        color: rgb(0, 0, 0);
    }

    button.win-command:active {
        color: rgb(0, 0, 0);
    }

    button.win-command:hover:active {
        color: rgb(0, 0, 0);
    }

.win-commandimage {
    color: rgb(0, 0, 0);
}

button:hover:active .win-commandimage {
    color: rgb(256, 182, 56);
}

button[aria-selected=true] .win-commandimage {
    color: rgb(256, 182, 56);
}

button[aria-selected=true]:hover .win-commandimage,
button[aria-selected=true]:active .win-commandimage,
button[aria-selected=true]:hover:active .win-commandimage {
    color: rgb(0, 0, 0);
}

/*
Command ring colors.
*/
.win-commandring {
    background-color: transparent;
    border-color: rgb(0, 0, 0);
    color: rgb(0, 0, 0);
}

button:hover .win-commandring, button:active .win-commandring {
    background-color: rgb(256, 191, 82);
    border-color: rgb(0, 0, 0);
}

button:hover:active .win-commandring {
    background-color: rgb(0, 0, 0);
    border-color: rgb(0, 0, 0);
}

button[aria-selected=true] .win-commandring {
    background-color: rgb(0, 0, 0);
    border-color: rgb(0, 0, 0);
}

button[aria-selected=true]:hover .win-commandring,
button[aria-selected=true]:active .win-commandring {
    background-color: transparent;
    border-color: rgb(0, 0, 0);
}

button[aria-selected=true]:hover:active .win-commandring {
    background-color: transparent;
    border-color: rgb(0, 0, 0);
}

/*
AppBar control colors.
*/
.win-appbar {
    background-color: rgb(256, 182, 56);
    border-color: rgb(256, 182, 56);
}

/*
Rating control colors.
*/
.win-rating .win-star.win-user.win-full {
    color: rgb(255, 165, 0);
}

.win-rating .win-star.win-tentative.win-full {
    color: rgb(255, 177, 33);
}

Upvotes: 2

Related Questions