This is a documentation for Board Game Arena: play board games online !

Game interface stylesheet: yourgamename.css: diferència entre les revisions

De Board Game Arena
Salta a la navegació Salta a la cerca
Cap resum de modificació
Cap resum de modificació
Línia 39: Línia 39:


Important: ALL the CSS directives for your game must be included in this CSS file. You can't create additional CSS files and import them.
Important: ALL the CSS directives for your game must be included in this CSS file. You can't create additional CSS files and import them.
== spectatorMode ==

Revisió del 16:17, 6 març 2013

This is the CSS stylesheet of your game User Interface.

Styles defined on this file will be applied to the HTML elements you define in your HTML template (yourgame_yourgame.tpl), and to HTML elements you create dynamically with Javascript.

Usually, you are using CSS to:

1°) define the overall layout of your game (ex: place the board on the top left, place player's hand beside, place the deck on the right, ...).

2°) create your CSS-sprites: All images of your games should be gathered into a small number of image files. Then, using background-image and background-position CSS properties, you create HTML blocks that can display these images correctly.

Example:

    Example of CSS sprites (a black token and a white token, 20x20px each, embedded in the same "tokens.png" 40x20px image):

    .white_token {
        background-image: url('../../img/emptygame/tokens.png');
        background-position: 0px 0px;
    }
    .black_token {
        background-image: url('../../img/emptygame/tokens.png');
        background-position: -20px 0px;
    }
    .token {
        width: 20px;
        height: 20px;
        background-repeat: none;
    }

3°) ... anything else:

It is really easy to add and remove CSS classes dynamically from your Javascript with dojo.addClass and dojo.removeClass. It is also easy to check if an element has a class (dojo.hasClass) or to get all elements with a specific class (dojo.query).

This is why, very often, using CSS classes for the logic of your user interface allow you to do complex thing easily.

Note: on the production platform, this file will be compressed and comments will be removed. Consequently, don't hesitate to put as many comments as necessary.

Important: ALL the CSS directives for your game must be included in this CSS file. You can't create additional CSS files and import them.

spectatorMode