CSS Properties in depth

CSS3 Training Course Durban

If you are learning CSS then this is a great resource and explanation on what each of the CSS properties does. Sometimes you need to refresh your mind on how to accomplish something with CSS. Check out all the properties below.

CSS Properties

CSS Property Groups

The “CSS” column indicates in which CSS version the property is defined (CSS1, CSS2, or CSS3).

Animation Properties

Property Description CSS
@keyframes Specifies the animation 3
animation A shorthand property for all the animation properties below, except the animation-play-state property 3
animation-name Specifies a name for the @keyframes animation 3
animation-duration Specifies how many seconds or milliseconds an animation takes to complete one cycle 3
animation-timing-function Specifies the speed curve of the animation 3
animation-delay Specifies when the animation will start 3
animation-iteration-count Specifies the number of times an animation should be played 3
animation-direction Specifies whether or not the animation should play in reverse on alternate cycles 3
animation-play-state Specifies whether the animation is running or paused 3

Background Properties

Property Description CSS
background Sets all the background properties in one declaration 1
background-attachment Sets whether a background image is fixed or scrolls with the rest of the page 1
background-color Sets the background color of an element 1
background-image Sets the background image for an element 1
background-position Sets the starting position of a background image 1
background-repeat Sets how a background image will be repeated 1
background-clip Specifies the painting area of the background 3
background-origin Specifies the positioning area of the background images 3
background-size Specifies the size of the background images 3

Border and Outline Properties

Property Description CSS
border Sets all the border properties in one declaration 1
border-bottom Sets all the bottom border properties in one declaration 1
border-bottom-color Sets the color of the bottom border 1
border-bottom-style Sets the style of the bottom border 1
border-bottom-width Sets the width of the bottom border 1
border-color Sets the color of the four borders 1
border-left Sets all the left border properties in one declaration 1
border-left-color Sets the color of the left border 1
border-left-style Sets the style of the left border 1
border-left-width Sets the width of the left border 1
border-right Sets all the right border properties in one declaration 1
border-right-color Sets the color of the right border 1
border-right-style Sets the style of the right border 1
border-right-width Sets the width of the right border 1
border-style Sets the style of the four borders 1
border-top Sets all the top border properties in one declaration 1
border-top-color Sets the color of the top border 1
border-top-style Sets the style of the top border 1
border-top-width Sets the width of the top border 1
border-width Sets the width of the four borders 1
outline Sets all the outline properties in one declaration 2
outline-color Sets the color of an outline 2
outline-style Sets the style of an outline 2
outline-width Sets the width of an outline 2
border-bottom-left-radius Defines the shape of the border of the bottom-left corner 3
border-bottom-right-radius Defines the shape of the border of the bottom-right corner 3
border-image A shorthand property for setting all the border-image-* properties 3
border-image-outset Specifies the amount by which the border image area extends beyond the border box 3
border-image-repeat Specifies whether the image-border should be repeated, rounded or stretched 3
border-image-slice Specifies the inward offsets of the image-border 3
border-image-source Specifies an image to be used as a border 3
border-image-width Specifies the widths of the image-border 3
border-radius A shorthand property for setting all the four border-*-radius properties 3
border-top-left-radius Defines the shape of the border of the top-left corner 3
border-top-right-radius Defines the shape of the border of the top-right corner 3
box-decoration-break 3
box-shadow Attaches one or more drop-shadows to the box 3

Box Properties

Property Description CSS
overflow-x Specifies whether or not to clip the left/right edges of the content, if it overflows the element’s content area 3
overflow-y Specifies whether or not to clip the top/bottom edges of the content, if it overflows the element’s content area 3
overflow-style Specifies the preferred scrolling method for elements that overflow 3
rotation Rotates an element around a given point defined by the rotation-point property 3
rotation-point Defines a point as an offset from the top left border edge 3

Color Properties

Property Description CSS
color-profile Permits the specification of a source color profile other than the default 3
opacity Sets the opacity level for an element 3
rendering-intent Permits the specification of a color profile rendering intent other than the default 3

Content for Paged Media Properties

Property Description CSS
bookmark-label Specifies the label of the bookmark 3
bookmark-level Specifies the level of the bookmark 3
bookmark-target Specifies the target of the bookmark link 3
float-offset Pushes floated elements in the opposite direction of the where they have been floated with float 3
hyphenate-after Specifies the minimum number of characters in a hyphenated word after the hyphenation character 3
hyphenate-before Specifies the minimum number of characters in a hyphenated word before the hyphenation character 3
hyphenate-character Specifies a string that is shown when a hyphenate-break occurs 3
hyphenate-lines Indicates the maximum number of successive hyphenated lines in an element 3
hyphenate-resource Specifies a comma-separated list of external resources that can help the browser determine hyphenation points 3
hyphens Sets how to split words to improve the layout of paragraphs 3
image-resolution Specifies the correct resolution of images 3
marks Adds crop and/or cross marks to the document 3
string-set 3

Dimension Properties

Property Description CSS
height Sets the height of an element 1
max-height Sets the maximum height of an element 2
max-width Sets the maximum width of an element 2
min-height Sets the minimum height of an element 2
min-width Sets the minimum width of an element 2
width Sets the width of an element 1

Flexible Box Properties

Property Description CSS
box-align Specifies how to align the child elements of a box 3
box-direction Specifies in which direction the children of a box are displayed 3
box-flex Specifies whether the children of a box is flexible or inflexible in size 3
box-flex-group Assigns flexible elements to flex groups 3
box-lines Specifies whether columns will go onto a new line whenever it runs out of space in the parent box 3
box-ordinal-group Specifies the display order of the child elements of a box 3
box-orient Specifies whether the children of a box should be laid out horizontally or vertically 3
box-pack Specifies the horizontal position in horizontal boxes and the vertical position in vertical boxes 3

Font Properties

Property Description CSS
font Sets all the font properties in one declaration 1
font-family Specifies the font family for text 1
font-size Specifies the font size of text 1
font-style Specifies the font style for text 1
font-variant Specifies whether or not a text should be displayed in a small-caps font 1
font-weight Specifies the weight of a font 1
@font-face A rule that allows websites to download and use fonts other than the “web-safe” fonts 3
font-size-adjust Preserves the readability of text when font fallback occurs 3
font-stretch Selects a normal, condensed, or expanded face from a font family 3

Generated Content Properties

Property Description CSS
content Used with the :before and :after pseudo-elements, to insert generated content 2
counter-increment Increments one or more counters 2
counter-reset Creates or resets one or more counters 2
quotes Sets the type of quotation marks for embedded quotations 2
crop Allows a replaced element to be just a rectangular area of an object, instead of the whole object 3
move-to Causes an element to be removed from the flow and reinserted at a later point in the document 3
page-policy Determines which page-based occurance of a given element is applied to a counter or string value 3

Grid Properties

Property Description CSS
grid-columns Specifies the width of each column in a grid 3
grid-rows Specifies the height of each column in a grid 3

Hyperlink Properties

Property Description CSS
target A shorthand property for setting the target-name, target-new, and target-position properties 3
target-name Specifies where to open links (target destination) 3
target-new Specifies whether new destination links should open in a new window or in a new tab of an existing window 3
target-position Specifies where new destination links should be placed 3

Linebox Properties

Property Description CSS
alignment-adjust Allows more precise alignment of elements 3
alignment-baseline Specifies how an inline-level element is aligned with respect to its parent 3
baseline-shift Allows repositioning of the dominant-baseline relative to the dominant-baseline 3
dominant-baseline Specifies a scaled-baseline-table 3
drop-initial-after-adjust Sets the alignment point of the drop initial for the primary connection point 3
drop-initial-after-align Sets which alignment line within the initial line box is used at the primary connection point with the initial letter box 3
drop-initial-before-adjust Sets the alignment point of the drop initial for the secondary connection point 3
drop-initial-before-align Sets which alignment line within the initial line box is used at the secondary connection point with the initial letter box 3
drop-initial-size Controls the partial sinking of the initial letter 3
drop-initial-value Activates a drop-initial effect 3
inline-box-align Sets which line of a multi-line inline block align with the previous and next inline elements within a line 3
line-stacking A shorthand property for setting the line-stacking-strategy, line-stacking-ruby, and line-stacking-shift properties 3
line-stacking-ruby Sets the line stacking method for block elements containing ruby annotation elements 3
line-stacking-shift Sets the line stacking method for block elements containing elements with base-shift 3
line-stacking-strategy Sets the line stacking strategy for stacked line boxes within a containing block element 3
text-height Sets the block-progression dimension of the text content area of an inline box 3

List Properties

Property Description CSS
list-style Sets all the properties for a list in one declaration 1
list-style-image Specifies an image as the list-item marker 1
list-style-position Specifies if the list-item markers should appear inside or outside the content flow 1
list-style-type Specifies the type of list-item marker 1

Margin Properties

Property Description CSS
margin Sets all the margin properties in one declaration 1
margin-bottom Sets the bottom margin of an element 1
margin-left Sets the left margin of an element 1
margin-right Sets the right margin of an element 1
margin-top Sets the top margin of an element 1

Marquee Properties

Property Description CSS
marquee-direction Sets the direction of the moving content 3
marquee-play-count Sets how many times the content move 3
marquee-speed Sets how fast the content scrolls 3
marquee-style Sets the style of the moving content 3

Multi-column Properties

Property Description CSS
column-count Specifies the number of columns an element should be divided into 3
column-fill Specifies how to fill columns 3
column-gap Specifies the gap between the columns 3
column-rule A shorthand property for setting all the column-rule-* properties 3
column-rule-color Specifies the color of the rule between columns 3
column-rule-style Specifies the style of the rule between columns 3
column-rule-width Specifies the width of the rule between columns 3
column-span Specifies how many columns an element should span across 3
column-width Specifies the width of the columns 3
columns A shorthand property for setting column-width and column-count 3

Padding Properties

Property Description CSS
padding Sets all the padding properties in one declaration 1
padding-bottom Sets the bottom padding of an element 1
padding-left Sets the left padding of an element 1
padding-right Sets the right padding of an element 1
padding-top Sets the top padding of an element 1

Paged Media Properties

Property Description CSS
fit Gives a hint for how to scale a replaced element if neither its width nor its height property is auto 3
fit-position Determines the alignment of the object inside the box 3
image-orientation Specifies a rotation in the right or clockwise direction that a user agent applies to an image 3
page Specifies a particular type of page where an element SHOULD be displayed 3
size Specifies the size and orientation of the containing box for page content 3

Positioning Properties

Property Description CSS
bottom Specifies the bottom position of a positioned element 2
clear Specifies which sides of an element where other floating elements are not allowed 1
clip Clips an absolutely positioned element 2
cursor Specifies the type of cursor to be displayed 2
display Specifies how a certain HTML element should be displayed 1
float Specifies whether or not a box should float 1
left Specifies the left position of a positioned element 2
overflow Specifies what happens if content overflows an element’s box 2
position Specifies the type of positioning method used for an element (static, relative, absolute or fixed) 2
right Specifies the right position of a positioned element 2
top Specifies the top position of a positioned element 2
visibility Specifies whether or not an element is visible 2
z-index Sets the stack order of a positioned element 2

Print Properties

Property Description CSS
orphans Sets the minimum number of lines that must be left at the bottom of a page when a page break occurs inside an element 2
page-break-after Sets the page-breaking behavior after an element 2
page-break-before Sets the page-breaking behavior before an element 2
page-break-inside Sets the page-breaking behavior inside an element 2
widows Sets the minimum number of lines that must be left at the top of a page when a page break occurs inside an element 2

Ruby Properties

Property Description CSS
ruby-align Controls the text alignment of the ruby text and ruby base contents relative to each other 3
ruby-overhang Determines whether, and on which side, ruby text is allowed to partially overhang any adjacent text in addition to its own base, when the ruby text is wider than the ruby base 3
ruby-position Controls the position of the ruby text with respect to its base 3
ruby-span Controls the spanning behavior of annotation elements 3

Speech Properties

Property Description CSS
mark A shorthand property for setting the mark-before and mark-after properties 3
mark-after Allows named markers to be attached to the audio stream 3
mark-before Allows named markers to be attached to the audio stream 3
phonemes Specifies a phonetic pronunciation for the text contained by the corresponding element 3
rest A shorthand property for setting the rest-before and rest-after properties 3
rest-after Specifies a rest or prosodic boundary to be observed after speaking an element’s content 3
rest-before Specifies a rest or prosodic boundary to be observed before speaking an element’s content 3
voice-balance Specifies the balance between left and right channels 3
voice-duration Specifies how long it should take to render the selected element’s content 3
voice-pitch Specifies the average pitch (a frequency) of the speaking voice 3
voice-pitch-range Specifies variation in average pitch 3
voice-rate Controls the speaking rate 3
voice-stress Indicates the strength of emphasis to be applied 3
voice-volume Refers to the amplitude of the waveform output by the speech synthesises 3

Table Properties

Property Description CSS
border-collapse Specifies whether or not table borders should be collapsed 2
border-spacing Specifies the distance between the borders of adjacent cells 2
caption-side Specifies the placement of a table caption 2
empty-cells Specifies whether or not to display borders and background on empty cells in a table 2
table-layout Sets the layout algorithm to be used for a table 2

Text Properties

Property Description CSS
color Sets the color of text 1
direction Specifies the text direction/writing direction 2
letter-spacing Increases or decreases the space between characters in a text 1
line-height Sets the line height 1
text-align Specifies the horizontal alignment of text 1
text-decoration Specifies the decoration added to text 1
text-indent Specifies the indentation of the first line in a text-block 1
text-transform Controls the capitalization of text 1
unicode-bidi 2
vertical-align Sets the vertical alignment of an element 1
white-space Specifies how white-space inside an element is handled 1
word-spacing Increases or decreases the space between words in a text 1
hanging-punctuation Specifies whether a punctuation character may be placed outside the line box 3
punctuation-trim Specifies whether a punctuation character should be trimmed 3
text-align-last Describes how the last line of a block or a line right before a forced line break is aligned when text-align is “justify” 3
text-justify Specifies the justification method used when text-align is “justify” 3
text-outline Specifies a text outline 3
text-overflow Specifies what should happen when text overflows the containing element 3
text-shadow Adds shadow to text 3
text-wrap Specifies line breaking rules for text 3
word-break Specifies line breaking rules for non-CJK scripts 3
word-wrap Allows long, unbreakable words to be broken and wrap to the next line 3

2D/3D Transform Properties

Property Description CSS
transform Applies a 2D or 3D transformation to an element 3
transform-origin Allows you to change the position on transformed elements 3
transform-style Specifies how nested elements are rendered in 3D space 3
perspective Specifies the perspective on how 3D elements are viewed 3
perspective-origin Specifies the bottom position of 3D elements 3
backface-visibility Defines whether or not an element should be visible when not facing the screen 3

Transition Properties

Property Description CSS
transition A shorthand property for setting the four transition properties 3
transition-property Specifies the name of the CSS property the transition effect is for 3
transition-duration Specifies how many seconds or milliseconds a transition effect takes to complete 3
transition-timing-function Specifies the speed curve of the transition effect 3
transition-delay Specifies when the transition effect will start 3

User-interface Properties

Property Description CSS
appearance Allows you to make an element look like a standard user interface element 3
box-sizing Allows you to define certain elements to fit an area in a certain way 3
icon Provides the author the ability to style an element with an iconic equivalent 3
nav-down Specifies where to navigate when using the arrow-down navigation key 3
nav-index Specifies the tabbing order for an element 3
nav-left Specifies where to navigate when using the arrow-left navigation key 3
nav-right Specifies where to navigate when using the arrow-right navigation key 3
nav-up Specifies where to navigate when using the arrow-up navigation key 3
outline-offset Offsets an outline, and draws it beyond the border edge 3
resize Specifies whether or not an element is resizable by the user 3

CSS Selectors

In CSS, selectors are patterns used to select the element(s) you want to style.

The “CSS” column indicates in which CSS version the property is defined (CSS1, CSS2, or CSS3).

Selector Example Example description CSS
.class .intro Selects all elements with 1
#id #firstname Selects the element with id=”firstname” 1
* * Selects all elements 2
element p Selects all <p> elements 1
element,element div,p Selects all <div> elements and all <p> elements 1
element element div p Selects all <p> elements inside <div> elements 1
element>element div>p Selects all <p> elements where the parent is a <div> element 2
element+element div+p Selects all <p> elements that are placed immediately after <div> elements 2
[attribute] [target] Selects all elements with a target attribute 2
[attribute=value] [target=_blank] Selects all elements with target=”_blank” 2
[attribute~=value] [title~=flower] Selects all elements with a title attribute containing the word “flower” 2
[attribute|=value] [lang|=en] Selects all elements with a lang attribute value starting with “en” 2
:link a:link Selects all unvisited links 1
:visited a:visited Selects all visited links 1
:active a:active Selects the active link 1
:hover a:hover Selects links on mouse over 1
:focus input:focus Selects the input element which has focus 2
:first-letter p:first-letter Selects the first letter of every <p> element 1
:first-line p:first-line Selects the first line of every <p> element 1
:first-child p:first-child Selects every <p> element that is the first child of its parent 2
:before p:before Insert content before every <p> element 2
:after p:after Insert content after every <p> element 2
:lang(language) p:lang(it) Selects every <p> element with a lang attribute value starting with “it” 2
element1~element2 p~ul Selects every <ul> element that are preceded by a <p> element 3
[attribute^=value] a[src^="https"] Selects every <a> element whose src attribute value begins with “https” 3
[attribute$=value] a[src$=".pdf"] Selects every <a> element whose src attribute value ends with “.pdf” 3
[attribute*=value] a[src*="w3schools"] Selects every <a> element whose src attribute value contains the substring “w3schools” 3
:first-of-type p:first-of-type Selects every <p> element that is the first <p> element of its parent 3
:last-of-type p:last-of-type Selects every <p> element that is the last <p> element of its parent 3
:o nly-of-type p:only-of-type Selects every <p> element that is the only <p> element of its parent 3
:o nly-child p:only-child Selects every <p> element that is the only child of its parent 3
:nth-child(n) p:nth-child(2) Selects every <p> element that is the second child of its parent 3
:nth-last-child(n) p:nth-last-child(2) Selects every <p> element that is the second child of its parent, counting from the last child 3
:nth-of-type(n) p:nth-of-type(2) Selects every <p> element that is the second <p> element of its parent 3
:nth-last-of-type(n) p:nth-last-of-type(2) Selects every <p> element that is the second <p> element of its parent, counting from the last child 3
:last-child p:last-child Selects every <p> element that is the last child of its parent 3
:root :root Selects the document’s root element 3
:empty p:empty Selects every <p> element that has no children (including text nodes) 3
:target #news:target Selects the current active #news element (clicked on a URL containing that anchor name) 3
:enabled input:enabled Selects every enabled <input> element 3
:disabled input:disabled Selects every disabled <input> element 3
:checked input:checked Selects every checked <input> element 3
:not(selector) :not(p) Selects every element that is not a <p> element 3
::selection ::selection Selects the portion of an element that is selected by a user 3

Measurement Values

Unit Description
% percentage
in inch
cm centimeter
mm millimeter
em 1em is equal to the current font size. 2em means 2 times the size of the current font. E.g., if an element is displayed with a font of 12 pt, then ’2em’ is 24 pt. The ‘em’ is a very useful unit in CSS, since it can adapt automatically to the font that the reader uses
ex one ex is the x-height of a font (x-height is usually about half the font-size)
pt point (1 pt is the same as 1/72 inch)
pc pica (1 pc is the same as 12 points)
px pixels (a dot on the computer screen)

We will keep on adding CSS Tips and Techniques to this resource so remember to check back regularly.

Share:

Related Articles:

This entry was posted in CSS, Resources, Tutorials and tagged , , , . Bookmark the permalink.

One Response to CSS Properties in depth

  1. BlackWelder says:

    obviously like http://www.create.webdesignacademy.co.za I’ll definitely come back again. wish you luck

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>