TUTORIAL TO COMPASS AND SASS
|
|
|
- Marilyn Little
- 10 years ago
- Views:
Transcription
1 COMENIUS UNIVERSITY, BRATISLAVA FACULTY OF MATHEMATICS, PHYSICS AND INFORMATICS TUTORIAL TO COMPASS AND SASS BACHELOR THESIS 2013 Milan Darjanin
2 COMENIUS UNIVERSITY, BRATISLAVA FACULTY OF MATHEMATICS, PHYSICS AND INFORMATICS TUTORIAL TO COMPASS AND SASS BACHELOR THESIS Study programme: Study field: Department: Supervisor: Computer Science 2508 Computer Science, Informatics Department of Computer Science RNDr. Tomáš Kulich, PhD. Bratislava, 2013 Milan Darjanin
3 Comenius University in Bratislava Faculty of Mathematics, Physics and Informatics THESIS ASSIGNMENT Name and Surname: Study programme: Field of Study: Type of Thesis: Language of Thesis: Secondary language: Milan Darjanin Computer Science (Single degree study, bachelor I. deg., full time form) Computer Science, Informatics Bachelor s thesis English Slovak Title: Aim: Tutorial to Compass and Sass Create documentation and cookbook to Sass language and Compass framework Supervisor: Department: Vedúci katedry: Assigned: RNDr. Tomáš Kulich, PhD. FMFI.KI - Department of Computer Science doc. RNDr. Daniel Olejár, PhD. Approved: doc. RNDr. Daniel Olejár, PhD. Guarantor of Study Programme Student Supervisor
4 Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky ZADANIE ZÁVEREČNEJ PRÁCE Meno a priezvisko študenta: Študijný program: Študijný odbor: Typ záverečnej práce: Jazyk záverečnej práce: Milan Darjanin informatika (Jednoodborové štúdium, bakalársky I. st., denná forma) informatika bakalárska anglický Názov: Cieľ: Tutoriál k jazykom Compass a Sass Vytvoriť dokumentáciu a na príkladoch založené 'how-to' k jazykom Compass a Sass Vedúci: Katedra: Vedúci katedry: Dátum zadania: RNDr. Tomáš Kulich, PhD. FMFI.KI - Katedra informatiky doc. RNDr. Daniel Olejár, PhD. Dátum schválenia: doc. RNDr. Daniel Olejár, PhD. garant študijného programu študent vedúci práce
5 Acknowledgement I would like to thank my supervisor RNDr. Tomáš Kulich, PhD. for his help and advices. v
6 Abstract The CSS is used in many web projects and the Sass is its extension. The Sass helps the developers to maintain the code readable even with large projects. The goal of the thesis is to write a tutorial for the Sass. All topics have at least one simple example to show the code in use. The second chapter is about the Compass framework, that brings more flexible way for work on CSS projects. KEYWORDS: sass, compass, css, tutorial vi
7 Abstrakt S CSS sa stretávame pri väčšine webových projektov. Sass je rozšírením CSS o nové funkcie, ktoré pomáhajú sprehl adnit a zrýchlit vývoj v CSS. Zámerom práce je zoznámit čitatel a so syntaxou a možnost ami preprocesora Sass. Jednotlivé funkcie sú s jednoduchými príkladmi na rýchlejšie pochopenie ich funkčnosti. Po prejdení základov Sass sa presúva pozornost na knižnicu Compass, ktorá posúva prácu s projektmi písanými v Sass na d alšiu úroveň. KL ÚČOVÉ SLOVÁ: sass, compass, css, tutoriál vii
8 Contents Introduction 1 1 Sass First steps to the Sass History Installation Hello World example Compiling Sass Sass Syntax Variables Nesting SassScript and directives Mixins Control Directives Compass Installation Working with projects viii
9 2.3 Compass core Reset CSS Helpers Utilities Conclusion 37
10 Introduction Cascading Style Sheets (CSS) is a style sheet language that is here for many years. It made great leaps through the time and today, with the third version, it brings a lot of new features. In spite of them, there is still place for improvement. This place fills CSS preprocessors like Sass ( Less ( or Stylus ( It is hard to say which of them is the best. Any of them can be helpful with your project and which one you choose is most of time on you. In this thesis, I m writing about the Sass. It is my choice, because of the community, relation with Ruby and my experiences with this language. It s recommended that reader of this tutorial is advanced in the CSS, while the CSS code in the examples will not be always explained. Most of time the knowledge of the CSS2 would be enough, except few sections that talks about Sass and the CSS3. In the second chapter I m going to explain how works and what brings Compass framework ( It is one of the first frameworks for Sass and has great website reference. The tutorial will at first explain how to prepare your workstation to work with Sass and than explain the syntax. It starts with the basics like variables and nesting. Moving to the more advance concepts as mixins, SassScript and directives. The example code is created for every explained situation. After that it moves to the Compass chapter. There it explains the basics about the command line tool for creating projects and the Compass core with it s mixins and functions. This tutorial was created with Sphinx Documentation Generator ( It helped creating the online version of this document, that can be found at the vacuumapps.com/compass-sass-tutorial ( 1
11 The content in this work and on the site is the same, only the structure is changed. It does not explain everything what is possible in the Sass and Compass. The motivation is to provide fast way to start with Sass and find the reference for important parts of Sass in one place. 2
12 Chapter 1 Sass 1.1 First steps to the Sass History Sass (Syntaticly awesome stylesheet) is meta-language created on top of CSS. It s main purpose is to provide more enhanced features to the CSS that are useful for creating manageable stylesheets. It was originally created by Hampton Catling ( He and Nathan Weizenbaum ( designed Sass through 2.0 version. Nathan is the primary designer of Sass and the main developer since its inception. In late 2008 Chris Eppstein ( joined the Sass team. Chris and Nathan designed Sass from version 2.2. Another accomplishment of Chris is the Compass ( the first Sass-based framework. The official implementation is done in Ruby. And through this manual I will be using only this one. There are attempts to make Sass interpreter in Javascript so you can run it on the server with Node.js or PHP version named PHPSass ( Sass is available under the MIT License ( LICENSE.html). 3
13 1.1.2 Installation After few words from history is time to move on. Before we can start with the syntax, it s necessary to install the Sass interpreter. How I said before we will be using Ruby implementation. And because we have many operating systems with different dependencies I will give you hints how to prepare your system. Windows The Windows does not come with Ruby installed at default. The fastest way how to install it is to download RubyInstaller ( When it is done, go to Start Menu, Accessories and run Command Prompt. But faster would be to press Win+R and put in the cmd command and press Run. Next step is same for all platforms. Linux This category is more general, while there are many distribution with Linux kernel. But the most used systems today have roots in Debian. In this group you can add Debian, Ubuntu, Linux Mint and so on. If you are using Arch, then I don t think think you need to read how to install Ruby. For Debian based systems you just need to start Terminal and run in it sudo apt-get install ruby1.9.1 It will ask your password and after that it will install Ruby. MacOS X Your new Mac comes with Ruby installed. So only thing that you must do is to find your terminal. You can use Spotlight and write in it Terminal. And run it. Last step At the end to install the Sass gem just write following command into the terminal or command prompt. When the installation ends, you are done. gem install sass 4
14 1.1.3 Hello World example It s good idea to try if it works. Run in terminal or command prompt sass --scss Your input would be $header-color: #fe3242; h1 { color: $header-color; And when you are done press Ctrl+D. You should get h1 { color: #fe3242; As you can see, the line starting with dollar sign disappeared and the color value has changed to value defined for $header-color. This is simple example of using variables in Sass. When there was no problems you can move to the next chapter Compiling Sass In Hello World example the code runs in the interactive mode of the Sass, but in real life you write code into files. For that sass console application has options that helps with that. There exist GUI applications for working with Sass, but I m a CLI guy and I think you will like it too. The easiest way how to convert.sass or.scss file to the.css version is using following command. For files sass --watch input.scss:output.css For whole directories 5
15 sass --watch input-dir:output-dir 1.2 Sass Syntax After details how to setup up your working environment for Sass, it s time to move on to the syntax of this language. How I said earlier anything written in CSS is valid Sass code. It s not always true. The thing is that Sass has two possible syntaxes. The older one, called simply Sass with extension.sass, takes inspiration in Haml ( There are no semicolons, no curly brackets and few more differences from style that will be used. The important thing in it is using indention. If you met languages like Ruby or Python, then you should be familiar with the concept. For people who have no clue what I m talking about, is here small example. First is the code in Sass (.sass extension) #main background: red; color: white a font: weight: bold size: 2em family: serif color: yellow &:hover color: green And now CSS equivalent to code above. #main { background: red; color: white; #main a { font-weight: bold; 6
16 font-size: 2em; font-family: serif; color: yellow; #main a:hover { color: green; This approach to the syntax has some advantages and if you have some experience with languages where indention is so important than go for it. But in this materials I will be using most often the SCSS (Sassy CSS) syntax. It s more similar to CSS so there would be no problems to start using Sass, what is main purpose of this tutorial Variables How often happened to you that you were writing CSS, in which you need to set up color for some element, but you don t remember the code of used color? You can still find it in document, but it could take some time. Another example. You got some code at which had worked other developer and only thing that you need to do is to change colors of all links in the document. The problem is that you don t know in how many declarations is that color used in document and how we can see later, code written in Sass is often divided in many files. If the previous developer used variable to store the color value, than your work would be just to find the declaration of color for link and change it. In this example situations variables come to be handy. It s true that they are often used as constants in Sass. There are no problems to change their values later, but it is not good practice to do so, while it can start to be mess and you can not be sure which value is used at the moment so easily. The definition of variable starts with symbol $ following with the variable name, double-colon and the variable value. The value can be color code in any format supported in CSS, string, number or length with unit..scss 7
17 $color-var-name: rgba(42,42,42,1); $length-var-name: 960px; $string-var-name: " "; $number: 0.2; #main { width: $length-var-name a { color: $color-var-name; opacity: $number;.css #main { width: 960px; a { color: rgba(42,42,42,1); opacity: 0.2; Note: Naming conventions They are inherited from CSS. The name for variable should be created from alphanumeric symbols and separated by hyphen. The name should say enough about the value that is saved in it. Try to avoid names like $red-color and than use it for all your links. Better approach is to create color scheme like $red: #E03838;,than create $linkcolor: $red; and use it for links. If you came to state that you need to change the color from red to green, you will just declare $green and set the $link-color to it. It s better, because if you stay with $red-color, than you will probably change the value stored in $red-color to green and it does not make sense. 8
18 1.2.2 Nesting I d like to start with simple CSS code for horizontal navigation. nav { position: absolute; right: 5em; bottom: 2em; nav ul { list-style: none; nav ul li { display: inline; nav ul li a { color: #4590DE; text-decoration: none; nav ul li a:hover { text-decoration: underline; You probably met similar code already. If you look at it you can see that I repeated some selectors. They are important for the final style, but when you are writing code, you don t want to repeat yourself. Computers are good for repetitive work so why don t use them for this too? Sass has solution for this. It s called nesting. It s main idea is that child elements are written inside of the parent curly brackets. Than I can rewrite the CSS code into the Sass CSS (.scss) version nav { position: absolute; right: 5em; bottom: 2em; ul { list-style: none; li { display: inline; a { color: #4590DE; text-decoration: none; &:hover { text-decoration: underline; 9
19 The indention in code is not important, but it s recommended, for easier reading of the code. How you can see I didn t repeat any selector. There is interesting syntax with the ampersand. &:hover. The ampersand stands for the parent selector. The reason why I didn t used it in previous declaration is that it s added there automatically. So if you write nav { ul { it can be rewritten using &-syntax to nav { & ul { We need to refer on the parent selector in case that there is no need for space between selectors. For example when we use pseudo-classes or pseudo-selectors. table { &.users-mode { will be translated to table { table.users-mode { There is one more way where to use nesting: CSS properties. Some of them are created with some prefix like font-, text-, border-,etc. and if you are going to set more of them you can use the short version, but sometimes you need to specify it more explicit. Then nesting comes handy. The example would be best for it..scss 10
20 .block { border: { width: thin thin 0 0; color: red blue; style: solid;.css.block { border-width: thin thin 0 0; border-color: red blue; border-style: solid; SassScript Extra features that you don t find in CSS brings the SassScript. It allows to use arithmetic operations, interpolation and functions. If you want to just try some of it without writing files, than for you is there Interactive Shell. sass -i >> 1px + 1px + 1px 3px >> #123 - # # >> #777 + #888 white Data types The SassScript supports 6 data types. There is no need to declare them. It will be automatically done. They are numbers, e.g. 1.2, 13, 10px 11
21 strings with and without quotes, e.g. cube, triangle, line colors, e.g. red, #123456, rgba(234,123,0, 0.8) booleans, e.g. true, false null list of values separated by spaces or commas, e.g. thin solid black You don t need thing about these types a lot. Only in cases that you store for example string into variable, but you want to use it to set a size of font. In this case it doesn t make sense. Functions The classic CSS does not have many functions. One example could be the calc() function for the arithmetic operations, but it s not supported in all browsers. SassScripts brings more handy functions. For the full reference and examples to them I recommend the official documentation SassScript Functions Reference ( You can find there all functions with short example. For that reason I m not going to copy it. I give you in moment one example where can be functions useful. You can sort them base on the target area of use. Color functions RGB HSL Opacity Other String functions Number functions List functions Introspection functions Generating a color palette 12
22 Nice example of using the functions is generating color palette. You need only to set the base color. In case that you would change it for any reason, other colors will change depending on it. Experimenting with the color palette is the rather simple. $base: #633; $complement1: adjust-hue($base, 180); $complement2: darken(adjust-hue($base, 180), 5%); $lighten1: lighten($base, 15%); $lighten2: lighten($base, 30%); and directives Sass supports all like but some of them extend and gives them more Once using Sass, you ll probably meet this rule quite often. It extends CSS import rule, so you can import.scss and.sass files. The output will be merged into one single CSS file and all variables and mixins defined in the imported files will be available in the main file. With this behavior you can split your styles into smaller files defining specific elements. It makes easy to append or edit the code. There are some special circumstances at which will rule works like the CSS. The file s extension is.css. The filename begins with If the filename is url(). If has any media "cube" url(cube); 13
23 "cube" url(cube); If we want to import the file cube.scss we can "cube.scss"; or just "cube"; If you want to import more files, it s possible to "first", "second"; If you name the.scss file with underscore before filename _cube.scss, then its code will be added to the main.css file, but it will not be compiled to CSS file. you don t need to write the underscore, but it s important that in the same folder can not be more files with the same name. (If in folder is cube.scss, than you can not use _cube.scss). This type of naming of files is called partials. One of earlier mentioned features of Sass is nesting and it s possible to use it Most of time you will use at the top of the document. But there can come situation when it would be handy to include whole another file into some class. At that case you can under class. This is demonstrated in the example that follows. following code The box.scss and screen.scss contain // Content of the box.scss.box { color: red;.button { background: #444; 14
24 // Content of the screen.scss.screen box.scss ; The compiled version is.screen.box { color: red;.screen.box.button { background: #444; There are few exceptions. There exists directives that can be only at the base level of the document. So if you are into selector than the imported file can not It s not possible in mixins and directive can be used as defined in the plain CSS, but it has one extra capability - it can be nested in CSS rule. If it appears nested, than it bubble to the base level, containing all selectors in which it s included. This approach helps to make your code readable if you are using { width: screen and (orientation: landscape) { width: 500px;.css 15
25 .sidebar { width: screen and (orientation: landscape) {.sidebar { width: 500px; This way you don t break the flow of your selectors that are nested into each and again you don t need to repeat to writing the selector that you want to specify You can complain that you often write the value for but we have variables. This is nice place where you can use it..scss $landscape: screen and (orientation: landscape) ;.sidebar { width: #{$landscape { width: 500px;.content { width: #{$landscape { width: 600px;.css 16
26 @media screen and (orientation: landscape) {.sidebar { width: 500px;.content { width: 600px;.sidebar { width: 300px;.content { width: 400px; You can define properties for specific devices at the start and if you need to change some properties you don t need to look through documents where you write devicespecific rules and no selectors were written There are often cases when you need to use the all rules from one selector and add only some new. Most used way how to do that is using some general class and than more specific class that sets the different properties. Than the HTML will be following <div class="error error-login"> Sorry, bad login or password. Try it again. </div> The css to the code will be.error { border: thin solid #FF5151; background-color: #F9E9E9; 17
27 .error-login { border-width: thick; This approach is functional and it s often used, but you must not forgot the error class. directive helps to avoid the some problems that are possible using this way. Than in the HTML will be written <div class="error-login"> Sorry, bad login or password. Try it again. </div>.scss.error { border: thin solid #FF5151; background-color: #F9E9E9;.error-login border-width: thick;.css.error,.error-login { border: thin solid #FF5151; background-color: #F9E9E9;.error-login { border-width: works by inserting extending selector anywhere the extended selector appears. For better illustration I add an example..scss 18
28 .error { border: thin solid red; padding:.5em; color: red;.error.icon { background: url( images/error.png );.error-login font-weight: bold;.css.error,.error-login { border: thin solid red; padding:.5em; color: red;.error.icon,.error-login.icon { background: url( images/error.png );.error-login { font-weight: bold; If you are familiar with Object Oriented languages such Java or C++ you sure know the meaning of abstract class or function. There are not allowed instances from abstract classes, so they must be inherited by another class. In Sass exists similar way to define the selector. It s called placeholder selectors. They are defined in Sass version of code, but they are not compiled to the CSS. Only if they are extended by another selector. It helps to avoid names collisions and the in the output CSS they show up only if they are needed. They are most of 19
29 time used if you are creating framework. The syntax difference from the selectors for classes and ids only in first characters. You don t use the. or #, but %. So placeholder selector for the error could be %error. Everything else works like for normal selector. The main difference between using extend and mixins is in the output CSS. Say that we want to create four buttons and only the color of the background would be changed. If you use mixins for that, the output would have the same code for every button generated and only the color codes would be different. On other hand, if you extend generic placeholder selector for buttons and set for each one only different color, than the generated CSS will have shorter code. In situation when you want to load your site as fast as possible is this approach good idea. But always this things depends on the situation. If you want to inside of the media block, there is some restrictions. You can extend only selectors that are inside of the media block Mixins Some of many advantages of Sass is keeping your code readable and don t repeating yourself. For the purpose of DRY (don t repeat yourself) mixins exist and like many things in Sass come from Ruby universe, mixins exists there too. The way how mixins work is to include their code at the place where they were called. Defining a Mixin Mixins are defined with the following with the name of mixin and optionally the arguments. After that is there a block containing content of mixin closed into curly button { border: thin solid #40AECA; background: #85C7D8; border-radius: 5px; color: white; &:hover { background: #7EB7C6; 20
30 If you try to compile this with sass, than the output will be empty. The reason is that you don t use the mixin. And the second thing what you can see at definition of mixin is &:hover. We met with it in nesting, but there we knew who was parent. Here will be the parent selector defined at the moment of calling the mixin. For inserting the content of the mixin directive..scss.button button; height: 30px;.css.button { border: thin solid #40AECA; background: #85C7D8; border-radius: 5px; color: white; height: 30px;.button:hover { background: #7EB7C6; But this is not all what comes with mixins. I give you example when you need to have same styled buttons, but with different background colors. You can define the new color button, but there comes some repeating work. You must always define the new behavior for the hover state too. All because of using different color. How can we improve it? We can use the arguments that would be passed to the mixin. The best way how to explain it would be with example. Say that you want to create three different color buttons. One would be normal with light gray background and would be for classic actions. Next on would be the error button that 21
31 has red background and finally information button with blue background. And we want to define one mixin and then change just colors when we include button($color) { border: thin solid $color - #222222; background: $color; border-radius: 5px; color: white; padding: 5px; &:hover { background: $color - #161616;.button button(#b1b1b1);.error-button button(#fb4242);.info-button button(#549ee5);.css.button { border: thin solid #8f8f8f; background: #b1b1b1; border-radius: 5px; color: white; padding: 5px; 22
32 .button:hover { background: #9b9b9b;.error-button { border: thin solid #d92020; background: #fb4242; border-radius: 5px; color: white; padding: 5px;.error-button:hover { background: #e52c2c;.info-button { border: thin solid #327cc3; background: #549ee5; border-radius: 5px; color: white; padding: 5px;.info-button:hover { background: #3e88cf; Knowledge of this techniques is enough for you to start using the Sass on daily basis. There exists some more advanced things that comes handy, but their main purpose is for make more flexible code that can be part of framework like Compass. If you work on large projects and you use some styling techniques often, than it could be good idea to invest some time to write them into simple framework for you and use it in your projects, but before you start writing everything on your own, it could be good idea to jump to the chapter about Compass and look if things that you need do exist in it Control Directives SassScript supports control directives for including styles only under specific condition or including same style several times with variations. Their main purpose is to use them in mixins, those that are part libraries like Compass and requires flexibility. 23
33 @if IF is one of the basics directives for control the flow. The style would be applied only if the condition returns anything else than false or null. In conditions are allowed logical operations and and or that require at least two conditions and the negation not. p == 2 { border: 1px not(5 > 3) { border: 2px null { border: 4px dashed; p { border: 1px solid; At case that you need to check if the variable content is one of many, than comes handy if. The last must $language: ruby; p $language == python { background: if $language == c# { background: if $language == ruby { background: { background: yellow;.css p { background: In case that you need to repeat some action with different value in the output, you can use 24
34 @for loop. It sets the value in variable from starting point to end. There are two forms of forloop in Sass. First $var from <start> through <end> and the second $var from <start> to <end>. The variable $var is normal variable that can be named arbitrarily. It s common to name it $i. The <start> and <end> can be any expressions that return integer. The difference between these two forms is in the trough and to. If you use through the <end> value will be used at the end. If you use to the loop stops at the <end>-1 $i from 1 to 4 {.item-#{$i { width: 2em * $i;.css.item-1 { width: 2em;.item-2 { width: 4em;.item-3 { width: The for-loop is good if you are working with numbers. But if you want to work with list of words, than using is better decision. The syntax for each is $var in <list>. The variable $var is working the same way how in the for-loop. So in every step the $var value is equal to one of the items in the $shape in circle, triangle, square {.#{$shape-icon { background-image: url( /images/#{$shape.png );.css.circle-icon { background-image: url("/images/circle.png");.triangle-icon { background-image: url("/images/triangle.png");.square-icon { background-image: url("/images/square.png"); 25
35 @while If the step one that is in the for-loop is not good for you, than you must use the while. It will run until the condition is true. The syntax is as showed condition { // code And example.scss $i: $i > 0 {.box-#{$i { width: 2em * $i; $i: $i - 2;.css.box-6 { width: 12em;.box-4 { width: 8em;.box-2 { width: 4em; 26
36 Chapter 2 Compass At this point you should know enough about Sass and what is possible to do in it. There are many ways how to use it. You can use the approach of writing everything for yourself and only if you need it. There are probably some of you who always work this way. But many developers want to save time to start with next project. They often take some framework, that has the common things written and they just write the new parts specific for their project. The community about Sass is not different. There is not just one framework that you can use, but in this tutorial I will talk about the oldest and probably the most used of them. Compass. If you have some time to spare and learn something more, than I recommend to go through the code of the Compass, that you can find in it s public repository on the GitHub: github.com/chriseppstein/compass ( There are more than just Sass code, while Compass has own tools to create projects. Important for you is to target the framework and then compass folder, where you can find only styles written in Sassy CSS (.scss). 2.1 Installation Installation of this framework is simple. Important is to have installed Sass. If you for some reason don t, than go to the chapter about Sass, where is written the guide for installation. Put following command into console: 27
37 gem install compass There is possibility that on the UNIX/Linux systems will you need to add sudo before the command, while it will want to write into protected folders own data. It will download and set up path to compass files and prepare it to using for you. 2.2 Working with projects In every project in which you want to use the Compass, you need to have configuration file, that says to the compiler where to look for files, where to save the output and some other options important for work. For all that there is command line tool called simply compass. I m not going through all it s options, only the primary. If you want to see all options use option for help. In case that you need something, that it s not written in following text, I recommend the Compass Tutorials ( where are covered even more advance topics. compass -h Now if you have some time try to look at the list of all options that compass has. I m going to explain the primary ones and what they do. create The most important is to create new Compass project. It s done with the option create. After the option follows the name of the project. compass create HelloWorld The start of its output will be following directory HelloWorld/ directory HelloWorld/sass/ directory HelloWorld/stylesheets/ create HelloWorld/config.rb create HelloWorld/sass/screen.scss create HelloWorld/sass/print.scss 28
38 create HelloWorld/sass/ie.scss create HelloWorld/stylesheets/print.css create HelloWorld/stylesheets/screen.css create HelloWorld/stylesheets/ie.css It creates the folder HelloWorld with config.rb, in that is stored the settings that will be used by the compass compiler, and two folders one for yours Sass code - sass and one for generated css called stylesheets. It even creates three.scss files for your styles and compile them to their CSS versions. At the end of the output is how to include the styles to your HTML or some similar document, where you need the styles, but this you should know. The names of the files don t need to be equal to the version generated by compass. Only the config.rb file name needs to stay without change. It stores the settings for the compiler where to look for the sass files and where save the output. It even sets where are saved images that you use and your javascript if you have any. Content of the config.rb: # Require any additional compass plugins here. # Set this to the root of your project when deployed: http_path = "/" css_dir = "stylesheets" sass_dir = "sass" images_dir = "images" javascripts_dir = "javascripts" # You can select your preferred output style here # (can be overridden via the command line): # output_style = :expanded or :nested or :compact or :compressed # To enable relative paths to assets via compass helper # functions. Uncomment: # relative_assets = true # To disable debugging comments that display the original 29
39 # location of your selectors. Uncomment: # line_comments = false There are comments that explain a lot of things, if you are not sure what does some option mean. You are probably not going to change a lot of the code in here. Only at the time of deployment of the project is nice to uncomment the line_comments (just delete the hash sign #) and set the output_style to :compressed. This way will compass generate for you the smallest version of your style. init If you had started some project and later you figure out that you need to use Compass, than comes the init option handy. It create all important files for compass in the directory where is your project. Enter the folder with your project. For example, it s called web_app and run following command. compass init After that you are done. It created config.rb and the folders for the sass styles and generated CSS. You can say that you can create it on your own, while it s just one configuration file and few folders. But init makes it for you. compile Probably the most important option. It looks at the configuration file and base on the settings it generates CSS from your Sass. compass compile [/path/to/project] If you are in the same directory as is the config.rb file, than the path won t be there. The path to project is important if you in other directory as the configuration file. watch This option will be used most of the time. It does the same thing as the compile with one feature at the top. It waits for changes of your sass code and if there are any, watch will compile your code automatically. 30
40 compass watch [/path/to/project] Again the path is important only in case that you are not in the same directory as is the config.rb file. 2.3 Compass core The Compass library is created from two frameworks at the time of writing. The one is the core of the Compass about which would be this section. Another is the Blueprint framework. I m not going to talk about the Blueprint while it will be deprecated from newer versions of Sass. If you need some toolkit to work with grid and layouts, than I recommend to look at the Susy ( It s build with the Sass and works nice with Compass. The Compass core is spliced into six parts. CSS3 - how the name suggests it contains mixins to make life with CSS3 easier Typography Utilities Layout Reset - global reset based on the Eric Meyer s reset 2.0 ( Helpers - functions that add new functions to existing in the SassScript Each one will be dedicated own section where I go through the features that it has. If you need only to find something specific and you don t need comments for it than I recommend the Compass reference at Compass Reference ( Easiest way how to start using Compass is to "compass"; After that you can access everything included in the CSS3, typography and utilities category. 31
41 2.3.1 Reset All browsers have default styles that are called if the site has not own stylesheet for required element. With one small problem. They have slightly different predefined styles for some elements, so for example the padding for div haven t have to be the same. And there are many different places when you need no padding and margins defined. For that most of the developers specify at the begin of the CSS the reset rules. Because this is often done, Compass has built-in support for it. Just at the begin of Sass code include the reset and it will append the global reset based on the Eric Meyer s reset 2.0 "compass/reset"; If you need specific version only for some elements only include utilities from the reset. Most of the time you will use the global reset, if not than at Reset Utilities ( you can find the reference for mixins for more specified "compass/reset/utilities"; CSS3 The CSS3 brings many new features to modern browser. From basic things like border radius through box-shadow to advance effects created with transitions and key-frames. Everything would be great if CSS3 would be completed and all features in it implemented in all browsers the same way. But this is just wish of all web-developers. Truth is that browsers came with their own prefixes for function of CSS3 which has not yet been accepted to the final version or they have their own ideas that they want to make their browser more advance for example. Every web-developer today must have seen vendor prefixes like -webkit-, -ms-, -mz- and -o-. If you need to create button, that drops shadow, in perfect universe you will write.perfect-button {... box-shadow: 2px 2px 5px 4px rgba(42,42,42,0.8); 32
42 ... But in this world you must write something like.just-button {... -webkit-box-shadow: 2px 2px 5px 4px rgba(42,42,42,0.8); -moz-box-shadow: 2px 2px 5px 4px rgba(42,42,42,0.8); box-shadow: 2px 2px 5px 4px rgba(42,42,42,0.8);... This is one of the better cases when there not all browsers have their own prefixes. But we need to add two more lines just to secure that it will work in as many browsers as possible. Finally the same example written in Sass using "compass/css3".scss-button box-shadow(rgba(42,42,42,0.8) 2px 2px 5px 4px);... The import is needed only once so I will not count it. We are again at one line for the boxshadow. The code with vendor prefixes will be generated by mixin defined in Compass. I m not going to write specifically about mixins defined in the Compass, while they can change through time. For the most updated version visit their site with Compass CSS3 reference ( Helpers The Sass comes with huge library of functions and the Compass helpers section extends it. The full reference of it is at Compass Helpers ( I don t think that you would ever need all of them in 33
43 one project. But few of them can save a lot work so you will be using them more frequently. It can happen that through development of the web application are two groups. One is coding the back-end with all logic and interactions and the second is aimed on the front-end and working on the styles. It can happen that at the deployment changes are made to the paths for the images. If you are using just CSS, you must go through code and change the occurrence of the problems. In helpers there exists function image-url($path, [$only-path]) It looks into the config.rb file and takes the images_dir value. For example I have image called smiley.png, that is saved in the folder images in the project..avatar { background: image-url( smiley.png ); &:after { content: image-url( smiley.png, true);.avatar { background: image-url( /images/smiley.png );.avatar:after { content: "/images/smiley.png"; How can you see there is slightly difference, if you set the second argument to true. Than it will omit the url() in the output. The similar functions exist for the fonts. Only difference is in the name font-url. Next useful function is for dimensions of the images. If you need to know the dimensions of the image, compass comes with functionality for that. image-height($image); image-width($image); 34
44 The image is relative path of the image. Another tool for images is the function inline-images($image, [$mime-type]); I recommend to use it only for small images, like icons, where it can save the HTTP request, with little larger CSS file Utilities The Compass Utilities brings mixins for some common tasks. There are utility for control what will be in the print version displayed or if you need to fast way to style table that you can compass/utilities/tables ; example can be find at Table utility example ( At last I would like to show you how to work with sprites in the Compass. The reason for using sprites is to save HTTP request and speedup the load of the site. They are most of time used if you have many small icons. Without using sprites every one image must be loaded separately. With sprites it loads all images and that using CSS use only needed. In our example we have all 3 icons for social networks with dimensions 32x32 pixels saved in the directory social. images/icons/social/fb.png images/icons/social/gplus.png images/icons/social/tweet.png I will show you the basic and easiest way how to create sprite. At the top of your Sass file all-social-sprites; It will generate.social-fb,.social-gplus,.social-tweet { background: url( /images/icons/social-s34fe0232ab.png ) no-repeat; 35
45 .social-fb { background-position: 0 0;.social-gplus { background-position: 0-32px;.social-tweet { background-position: 0-64px; The numbers in the name of the generated sprite will you get different. If you want to learn more about the generating sprites in the Compass, than read Tutorial about sprites at Compass ( 36
46 Conclusion This tutorial should have learn you enough about Sass to start working with it on daily basis. At first it shows you how to obtain the Sass compiler and install it. Than it follows with the explaining the syntax and possibilities of the Sass. For each topic is simple example code. In second chapter moves our attention to the Compass framework. It is explained how to work with the project and where you can find more informations about it. Finaly, this tutorial looks at the Compass core and explain in my opinion important parts of it. 37
47 Bibliography [1] Blog about Sass. [Online; accessed 26-May-2013]. [2] Compass homepage. [Online; accessed 26-May- 2013]. [3] Sass homepage. [Online; accessed 26-May-2013]. 38
Web Design Basics. Cindy Royal, Ph.D. Associate Professor Texas State University
Web Design Basics Cindy Royal, Ph.D. Associate Professor Texas State University HTML and CSS HTML stands for Hypertext Markup Language. It is the main language of the Web. While there are other languages
Dreamweaver CS4 Day 2 Creating a Website using Div Tags, CSS, and Templates
Dreamweaver CS4 Day 2 Creating a Website using Div Tags, CSS, and Templates What is a DIV tag? First, let s recall that HTML is a markup language. Markup provides structure and order to a page. For example,
CIS 467/602-01: Data Visualization
CIS 467/602-01: Data Visualization HTML, CSS, SVG, (& JavaScript) Dr. David Koop Assignment 1 Posted on the course web site Due Friday, Feb. 13 Get started soon! Submission information will be posted Useful
{color:blue; font-size: 12px;}
CSS stands for cascading style sheets. Styles define how to display a web page. Styles remove the formatting of a document from the content of the document. There are 3 ways that styles can be applied:
Interactive Data Visualization for the Web Scott Murray
Interactive Data Visualization for the Web Scott Murray Technology Foundations Web technologies HTML CSS SVG Javascript HTML (Hypertext Markup Language) Used to mark up the content of a web page by adding
Outline of CSS: Cascading Style Sheets
Outline of CSS: Cascading Style Sheets nigelbuckner 2014 This is an introduction to CSS showing how styles are written, types of style sheets, CSS selectors, the cascade, grouping styles and how styles
Web Design with CSS and CSS3. Dr. Jan Stelovsky
Web Design with CSS and CSS3 Dr. Jan Stelovsky CSS Cascading Style Sheets Separate the formatting from the structure Best practice external CSS in a separate file link to a styles from numerous pages Style
Using Style Sheets for Consistency
Cascading Style Sheets enable you to easily maintain a consistent look across all the pages of a web site. In addition, they extend the power of HTML. For example, style sheets permit specifying point
Introduction to Adobe Dreamweaver CC
Introduction to Adobe Dreamweaver CC What is Dreamweaver? Dreamweaver is the program that we will be programming our websites into all semester. We will be slicing our designs out of Fireworks and assembling
Contents. Downloading the Data Files... 2. Centering Page Elements... 6
Creating a Web Page Using HTML Part 1: Creating the Basic Structure of the Web Site INFORMATION TECHNOLOGY SERVICES California State University, Los Angeles Version 2.0 Winter 2010 Contents Introduction...
Dashboard Skin Tutorial. For ETS2 HTML5 Mobile Dashboard v3.0.2
Dashboard Skin Tutorial For ETS2 HTML5 Mobile Dashboard v3.0.2 Dashboard engine overview Dashboard menu Skin file structure config.json Available telemetry properties dashboard.html dashboard.css Telemetry
How to Edit Your Website
How to Edit Your Website A guide to using your Content Management System Overview 2 Accessing the CMS 2 Choosing Your Language 2 Resetting Your Password 3 Sites 4 Favorites 4 Pages 5 Creating Pages 5 Managing
JJY s Joomla 1.5 Template Design Tutorial:
JJY s Joomla 1.5 Template Design Tutorial: Joomla 1.5 templates are relatively simple to construct, once you know a few details on how Joomla manages them. This tutorial assumes that you have a good understanding
CST 150 Web Design I CSS Review - In-Class Lab
CST 150 Web Design I CSS Review - In-Class Lab The purpose of this lab assignment is to review utilizing Cascading Style Sheets (CSS) to enhance the layout and formatting of web pages. For Parts 1 and
Chapter 7 Page Layout Basics Key Concepts. Copyright 2013 Terry Ann Morris, Ed.D
Chapter 7 Page Layout Basics Key Concepts Copyright 2013 Terry Ann Morris, Ed.D 1 Learning Outcomes float fixed positioning relative positioning absolute positioning two-column page layouts vertical navigation
Building a Horizontal Menu in Dreamweaver CS3 Using Spry R. Berdan
Building a Horizontal Menu in Dreamweaver CS3 Using Spry R. Berdan In earlier versions of dreamweaver web developers attach drop down menus to graphics or hyperlinks by using the behavior box. Dreamweaver
What is CSS? Official W3C standard for controlling presentation Style sheets rely on underlying markup structure
CSS Peter Cho 161A Notes from Jennifer Niederst: Web Design in a Nutshell and Thomas A. Powell: HTML & XHTML, Fourth Edition Based on a tutorials by Prof. Daniel Sauter / Prof. Casey Reas What is CSS?
ITNP43: HTML Lecture 4
ITNP43: HTML Lecture 4 1 Style versus Content HTML purists insist that style should be separate from content and structure HTML was only designed to specify the structure and content of a document Style
How To Change Your Site On Drupal Cloud On A Pcode On A Microsoft Powerstone On A Macbook Or Ipad (For Free) On A Freebie (For A Free Download) On An Ipad Or Ipa (For
How-to Guide: MIT DLC Drupal Cloud Theme This guide will show you how to take your initial Drupal Cloud site... and turn it into something more like this, using the MIT DLC Drupal Cloud theme. See this
CSS 101. CSS CODE The code in a style sheet is made up of rules of the following types
CSS 101 WHY CSS? A consistent system was needed to apply stylistic values to HTML elements. What CSS does is provide a way to attach styling like color:red to HTML elements like . It does this by defining
Microsoft Expression Web Quickstart Guide
Microsoft Expression Web Quickstart Guide Expression Web Quickstart Guide (20-Minute Training) Welcome to Expression Web. When you first launch the program, you ll find a number of task panes, toolbars,
Responsive Web Design: Media Types/Media Queries/Fluid Images
HTML Media Types Responsive Web Design: Media Types/Media Queries/Fluid Images Mr Kruyer s list of HTML Media Types to deliver CSS to different devices. Important note: Only the first three are well supported.
Mobile Web Site Style Guide
YoRk University Mobile Web Site Style Guide Table of Contents This document outlines the graphic standards for the mobile view of my.yorku.ca. It is intended to be used as a guide for all York University
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
Using Adobe Dreamweaver CS4 (10.0)
Getting Started Before you begin create a folder on your desktop called DreamweaverTraining This is where you will save your pages. Inside of the DreamweaverTraining folder, create another folder called
Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY
Advanced Web Development Duration: 6 Months SCOPE OF WEB DEVELOPMENT INDUSTRY Web development jobs have taken thе hot seat when it comes to career opportunities and positions as a Web developer, as every
Single Page Web App Generator (SPWAG)
Single Page Web App Generator (SPWAG) Members Lauren Zou (ljz2112) Aftab Khan (ajk2194) Richard Chiou (rc2758) Yunhe (John) Wang (yw2439) Aditya Majumdar (am3713) Motivation In 2012, HTML5 and CSS3 took
Web Development I & II*
Web Development I & II* Career Cluster Information Technology Course Code 10161 Prerequisite(s) Computer Applications Introduction to Information Technology (recommended) Computer Information Technology
Joomla! template Blendvision v 1.0 Customization Manual
Joomla! template Blendvision v 1.0 Customization Manual Blendvision template requires Helix II system plugin installed and enabled Download from: http://www.joomshaper.com/joomla-templates/helix-ii Don
CREATING A NEWSLETTER IN ADOBE DREAMWEAVER CS5 (step-by-step directions)
CREATING A NEWSLETTER IN ADOBE DREAMWEAVER CS5 (step-by-step directions) Step 1 - DEFINE A NEW WEB SITE - 5 POINTS 1. From the welcome window that opens select the Dreamweaver Site... or from the main
Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation
Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation Credit-By-Assessment (CBA) Competency List Written Assessment Competency List Introduction to the Internet
Web Authoring CSS. www.fetac.ie. Module Descriptor
The Further Education and Training Awards Council (FETAC) was set up as a statutory body on 11 June 2001 by the Minister for Education and Science. Under the Qualifications (Education & Training) Act,
We automatically generate the HTML for this as seen below. Provide the above components for the teaser.txt file.
Creative Specs Gmail Sponsored Promotions Overview The GSP creative asset will be a ZIP folder, containing four components: 1. Teaser text file 2. Teaser logo image 3. HTML file with the fully expanded
Before you can use the Duke Ambient environment to start working on your projects or
Using Ambient by Duke Curious 2004 preparing the environment Before you can use the Duke Ambient environment to start working on your projects or labs, you need to make sure that all configuration settings
Web layout guidelines for daughter sites of Scotland s Environment
Web layout guidelines for daughter sites of Scotland s Environment Current homepage layout of Scotland s Aquaculture and Scotland s Soils (September 2014) Design styles A daughter site of Scotland s Environment
Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00
Course Page - Page 1 of 12 Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00 Course Description Responsive Mobile Web Development is more
Garfield Public Schools Fine & Practical Arts Curriculum Web Design
Garfield Public Schools Fine & Practical Arts Curriculum Web Design (Half-Year) 2.5 Credits Course Description This course provides students with basic knowledge of HTML and CSS to create websites and
Web Design and Databases WD: Class 7: HTML and CSS Part 3
Web Design and Databases WD: Class 7: HTML and CSS Part 3 Dr Helen Hastie Dept of Computer Science Heriot-Watt University Some contributions from Head First HTML with CSS and XHTML, O Reilly Recap! HTML
How To Create A Web Page On A Windows 7.1.1 (For Free) With A Notepad) On A Macintosh (For A Freebie) Or Macintosh Web Browser (For Cheap) On Your Computer Or Macbook (
CREATING WEB PAGE WITH NOTEPAD USING HTML AND CSS The following exercises illustrate the process of creating and publishing Web pages with Notepad, which is the plain text editor that ships as part of
Email Campaign Guidelines and Best Practices
epromo Guidelines HTML Maximum width 700px (length = N/A) Maximum total file size, including all images = 200KB Only use inline CSS, no stylesheets Use tables, rather than layout Use more TEXT instead
Code::Blocks Student Manual
Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of
Website Development Komodo Editor and HTML Intro
Website Development Komodo Editor and HTML Intro Introduction In this Assignment we will cover: o Use of the editor that will be used for the Website Development and Javascript Programming sections of
Essential HTML & CSS for WordPress. Mark Raymond Luminys, Inc. 949-654-3890 [email protected] www.luminys.com
Essential HTML & CSS for WordPress Mark Raymond Luminys, Inc. 949-654-3890 [email protected] www.luminys.com HTML: Hypertext Markup Language HTML is a specification that defines how pages are created
PE Content and Methods Create a Website Portfolio using MS Word
PE Content and Methods Create a Website Portfolio using MS Word Contents Here s what you will be creating:... 2 Before you start, do this first:... 2 Creating a Home Page... 3 Adding a Background Color
Using an external style sheet with Dreamweaver (CS6)
Using an external style sheet with Dreamweaver (CS6) nigelbuckner.com 2012 This handout explains how to create an external style sheet, the purpose of selector types and how to create styles. It does not
Interspire Website Publisher Developer Documentation. Template Customization Guide
Interspire Website Publisher Developer Documentation Template Customization Guide Table of Contents Introduction... 1 Template Directory Structure... 2 The Style Guide File... 4 Blocks... 4 What are blocks?...
JOOMLA 2.5 MANUAL WEBSITEDESIGN.CO.ZA
JOOMLA 2.5 MANUAL WEBSITEDESIGN.CO.ZA All information presented in the document has been acquired from http://docs.joomla.org to assist you with your website 1 JOOMLA 2.5 MANUAL WEBSITEDESIGN.CO.ZA BACK
Web Design and Development ACS-1809. Chapter 9. Page Structure
Web Design and Development ACS-1809 Chapter 9 Page Structure 1 Chapter 9: Page Structure Organize Sections of Text Format Paragraphs and Page Elements 2 Identifying Natural Divisions It is normal for a
Wakanda Studio Features
Wakanda Studio Features Discover the many features in Wakanda Studio. The main features each have their own chapters and other features are documented elsewhere: Wakanda Server Administration Data Browser
Creating Web Pages with Dreamweaver CS 6 and CSS
Table of Contents Overview... 3 Getting Started... 3 Web Page Creation Tips... 3 Creating a Basic Web Page Exercise... 4 Create a New Page... 4 Using a Table for the Layout... 5 Adding Text... 6 Adding
CSS - Cascading Style Sheets
CSS - Cascading Style Sheets From http://www.csstutorial.net/ http://www.w3schools.com/css/default.asp What is CSS? CSS stands for Cascading Style Sheets Styles define how to display HTML elements External
KOMPOZER Web Design Software
KOMPOZER Web Design Software An IGCSE Student Handbook written by Phil Watkins www.kompozer.net CONTENTS This student guide is designed to allow for you to become a competent user* of the Kompozer web
Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Introduction Client-Side scripting involves using programming technologies to build web pages and applications that are run on the client (i.e.
Beginning Web Development with Node.js
Beginning Web Development with Node.js Andrew Patzer This book is for sale at http://leanpub.com/webdevelopmentwithnodejs This version was published on 2013-10-18 This is a Leanpub book. Leanpub empowers
Fast track to HTML & CSS 101 (Web Design)
Fast track to HTML & CSS 101 (Web Design) Level: Introduction Duration: 5 Days Time: 9:30 AM - 4:30 PM Cost: 997.00 Overview Fast Track your HTML and CSS Skills HTML and CSS are the very fundamentals of
Development Perspective: DIV and CSS HTML layout. Web Design. Lesson 2. Development Perspective: DIV/CSS
Web Design Lesson 2 Development Perspective: DIV/CSS Why tables have been tabled Tables are a cell based layout tool used in HTML development. Traditionally they have been the primary tool used by web
UH CMS Basics. Cascade CMS Basics Class. UH CMS Basics Updated: June,2011! Page 1
UH CMS Basics Cascade CMS Basics Class UH CMS Basics Updated: June,2011! Page 1 Introduction I. What is a CMS?! A CMS or Content Management System is a web based piece of software used to create web content,
MASTERTAG DEVELOPER GUIDE
MASTERTAG DEVELOPER GUIDE TABLE OF CONTENTS 1 Introduction... 4 1.1 What is the zanox MasterTag?... 4 1.2 What is the zanox page type?... 4 2 Create a MasterTag application in the zanox Application Store...
Dreamweaver and Fireworks MX Integration Brian Hogan
Dreamweaver and Fireworks MX Integration Brian Hogan This tutorial will take you through the necessary steps to create a template-based web site using Macromedia Dreamweaver and Macromedia Fireworks. The
Basic tutorial for Dreamweaver CS5
Basic tutorial for Dreamweaver CS5 Creating a New Website: When you first open up Dreamweaver, a welcome screen introduces the user to some basic options to start creating websites. If you re going to
Joomla! template JSN Mico Customization Manual
Joomla! template JSN Mico Customization Manual (for JSN Mico 1.0.x) www.facebook.com/joomlashine www.twitter.com/joomlashine www.youtube.com/joomlashine This documentation is release under Creative Commons
Mastering the JangoMail EditLive HTML Editor
JangoMail Tutorial Mastering the JangoMail EditLive HTML Editor With JangoMail, you have the option to use our built-in WYSIWYG HTML Editors to compose and send your message. Note: Please disable any pop
Style & Layout in the web: CSS and Bootstrap
Style & Layout in the web: CSS and Bootstrap Ambient intelligence: technology and design Fulvio Corno Politecnico di Torino, 2014/2015 Goal Styling web content Advanced layout in web pages Responsive layouts
ISE Web Portal Customization Options. Secure Access How-to User Guide Series
ISE Web Portal Customization Options Secure Access How-to User Guide Series Author: Jason Kunst Date: July 9, 2015 Table of Contents About this guide... 3 Prerequisite to using JavaScript on your portal
Base template development guide
Scandiweb Base template development guide General This document from Scandiweb.com contains Magento theme development guides and theme development case study. It will basically cover two topics Magento
Responsive Web Design Creative License
Responsive Web Design Creative License Level: Introduction - Advanced Duration: 16 Days Time: 9:30 AM - 4:30 PM Cost: 2197 Overview Web design today is no longer just about cross-browser compatibility.
CREATING HORIZONTAL NAVIGATION BAR USING ADOBE DREAMWEAVER CS5
CREATING HORIZONTAL NAVIGATION BAR USING ADOBE DREAMWEAVER CS5 Step 1 - Creating list of links - (5 points) Traditionally, CSS navigation is based on unordered list - . Any navigational bar can be
jquery Tutorial for Beginners: Nothing But the Goods
jquery Tutorial for Beginners: Nothing But the Goods Not too long ago I wrote an article for Six Revisions called Getting Started with jquery that covered some important things (concept-wise) that beginning
Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator
Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator Written by: Chris Jaun ([email protected]) Sudha Piddaparti ([email protected]) Objective In this
HTML CSS Basic Structure. HTML Structure [Source Code] CSS Structure [Cascading Styles] DIV or ID Tags and Classes. The BOX MODEL
HTML CSS Basic Structure HTML [Hypertext Markup Language] is the code read by a browser and defines the overall page structure. The HTML file or web page [.html] is made up of a head and a body. The head
Mura CMS. (Content Management System) Content Manager Guide
Mura CMS (Content Management System) Content Manager Guide Table of Contents Table of Contents 1. LOGGING IN...1 2. SITE MANAGER...2 3. ADDING CONTENT (Pages, Folders, etc.)...6 4. WORKING WITH IMAGES...15
Create Your own Company s Design Theme
Create Your own Company s Design Theme A simple yet effective approach to custom design theme INTRODUCTION Iron Speed Designer out of the box already gives you a good collection of design themes, up to
Citrix StoreFront. Customizing the Receiver for Web User Interface. 2012 Citrix. All rights reserved.
Citrix StoreFront Customizing the Receiver for Web User Interface 2012 Citrix. All rights reserved. Customizing the Receiver for Web User Interface Introduction Receiver for Web provides a simple mechanism
PASTPERFECT-ONLINE DESIGN GUIDE
PASTPERFECT-ONLINE DESIGN GUIDE INTRODUCTION Making your collections available and searchable online to Internet visitors is an exciting venture, now made easier with PastPerfect-Online. Once you have
Joomla! 2.5.x Training Manual
Joomla! 2.5.x Training Manual Joomla is an online content management system that keeps track of all content on your website including text, images, links, and documents. This manual includes several tutorials
Google Docs Basics Website: http://etc.usf.edu/te/
Website: http://etc.usf.edu/te/ Google Docs is a free web-based office suite that allows you to store documents online so you can access them from any computer with an internet connection. With Google
Adobe Illustrator CS6. Illustrating Innovative Web Design
Overview In this seminar, you will learn how to create a basic graphic in Illustrator, export that image for web use, and apply it as the background for a section of a web page. You will use both Adobe
IE Class Web Design Curriculum
Course Outline Web Technologies 130.279 IE Class Web Design Curriculum Unit 1: Foundations s The Foundation lessons will provide students with a general understanding of computers, how the internet works,
Cal Poly Pomona Cascade Server Beginning Web Author Training
Cal Poly Pomona Cascade Server Beginning Web Author Training Contents Recommended Browsers for using Cascade... 3 Content Management System Overview... 3 Content Management System Diagram- workflow...
Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide
Open Crystal Reports From the Windows Start menu choose Programs and then Crystal Reports. Creating a Blank Report Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick
Invitation to Ezhil : A Tamil Programming Language for Early Computer-Science Education 07/10/13
Invitation to Ezhil: A Tamil Programming Language for Early Computer-Science Education Abstract: Muthiah Annamalai, Ph.D. Boston, USA. Ezhil is a Tamil programming language with support for imperative
Magento Responsive Theme Design
Magento Responsive Theme Design Richard Carter Chapter No. 2 "Making Your Store Responsive" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter
Instructions for Creating a Poster for Arts and Humanities Research Day Using PowerPoint
Instructions for Creating a Poster for Arts and Humanities Research Day Using PowerPoint While it is, of course, possible to create a Research Day poster using a graphics editing programme such as Adobe
introduces the subject matter, presents clear navigation, is easy to visually scan, and leads to more in-depth content. Additional Resources 10
STYLE GUIDE Style Guide for Course Design Think of your Moodle course page as the homepage of a website. An effective homepage: introduces the subject matter, presents clear navigation, is easy to visually
Web Design for Programmers. Brian Hogan NAPCS Slides and content 2008 Brian P. Hogan Do not reproduce in any form without permission
Web Design for Programmers Brian Hogan NAPCS Slides and content 2008 Brian P. Hogan Do not reproduce in any form without permission Quick Disclaimers This is a crash course! Many topics are simplified
Mistral Joomla Template
Mistral Joomla Template Documentation Copyright arrowthemes Table of Contents Introduction... 4 1.1 Template Overview... 5 Theme Styles and admin options... 5 Theme profiles... 5 Theme Layouts... 5 1.2
ITP 101 Project 3 - Dreamweaver
ITP 101 Project 3 - Dreamweaver Project Objectives You will also learn how to make a website outlining your company s products, location, and contact info. Project Details USC provides its students with
Website Builder Documentation
Website Builder Documentation Main Dashboard page In the main dashboard page you can see and manager all of your projects. Filter Bar In the filter bar at the top you can filter and search your projects
Terminal 4 Site Manager User Guide. Need help? Call the ITD Lab, x7471
Need help? Call the ITD Lab, x7471 1 Contents Introduction... 2 Login to Terminal 4... 2 What is the Difference between a Section and Content... 2 The Interface Explained... 2 Modify Content... 3 Basic
Virtual Exhibit 5.0 requires that you have PastPerfect version 5.0 or higher with the MultiMedia and Virtual Exhibit Upgrades.
28 VIRTUAL EXHIBIT Virtual Exhibit (VE) is the instant Web exhibit creation tool for PastPerfect Museum Software. Virtual Exhibit converts selected collection records and images from PastPerfect to HTML
Web Development 1 A4 Project Description Web Architecture
Web Development 1 Introduction to A4, Architecture, Core Technologies A4 Project Description 2 Web Architecture 3 Web Service Web Service Web Service Browser Javascript Database Javascript Other Stuff:
Exercise 1: Python Language Basics
Exercise 1: Python Language Basics In this exercise we will cover the basic principles of the Python language. All languages have a standard set of functionality including the ability to comment code,
IAS Web Development using Dreamweaver CS4
IAS Web Development using Dreamweaver CS4 Information Technology Group Institute for Advanced Study Einstein Drive Princeton, NJ 08540 609 734 8044 * [email protected] Information Technology Group [2] Institute
Adobe Dreamweaver CC 14 Tutorial
Adobe Dreamweaver CC 14 Tutorial GETTING STARTED This tutorial focuses on the basic steps involved in creating an attractive, functional website. In using this tutorial you will learn to design a site
CSS for Page Layout. Key Concepts
CSS for Page Layout Key Concepts CSS Page Layout Advantages Greater typography control Style is separate from structure Potentially smaller documents Easier site maintenance Increased page layout control
