CSS
CSS, or Cascading Style Sheets, is a stylesheet language used in web development to control the presentation and visual styling of HTML (HyperText Markup Language) elements within a web page. CSS allows web developers and designers to define how web content should appear, specifying attributes such as colors, fonts, spacing, layout, and responsiveness. Here's a detailed explanation of CSS:
1. Separation of Content and Presentation:
- CSS follows the principle of separating content (HTML) from presentation (styling). This separation enhances maintainability and makes it easier to update the visual appearance of a website without altering the content.
2. CSS Rules:
- CSS is composed of rules that define how specific HTML elements should be styled. Each CSS rule consists of two main parts:
- Selector: The selector specifies which HTML element(s) the rule applies to. It can be an element type (e.g.,
p
for paragraphs), a class (e.g.,.button
), an ID (e.g.,#header
), or more complex selectors. - Declaration Block: The declaration block is enclosed in curly braces
{}
and contains one or more property-value pairs. Each property (e.g.,color
,font-size
) is followed by a colon (:
) and its value (e.g.,blue
,16px
), separated by a semicolon (;
).
- Selector: The selector specifies which HTML element(s) the rule applies to. It can be an element type (e.g.,
3. Example CSS Rule:
- Here's an example of a CSS rule that changes the color and font size of all paragraphs (
<p>
elements) with the classhighlighted
:
p.highlighted {
color: red;
font-size: 18px;
}
4. Cascading and Specificity:
- CSS stands for "Cascading Style Sheets" because multiple CSS rules can apply to the same HTML element. When conflicts arise, the rules are resolved based on specificity and the order of declaration. More specific selectors and rules declared later in the stylesheet take precedence.
5. CSS Properties:
- CSS offers a wide range of properties that control various aspects of element styling. Common properties include:
- Color:
color
- Fonts:
font-family
,font-size
,font-weight
, etc. - Layout:
margin
,padding
,width
,height
,position
,display
, etc. - Backgrounds:
background-color
,background-image
,background-size
, etc. - Borders:
border
,border-color
,border-radius
, etc. - Text Styling:
text-align
,text-decoration
,line-height
, etc.
- Color:
6. External Stylesheets:
- CSS can be included in HTML documents in several ways, with one of the most common methods being external stylesheets. An external CSS file is linked to an HTML document using the
<link>
element in the document's<head>
section.
7. Inline and Internal Styles:
- In addition to external stylesheets, CSS can also be applied inline directly within HTML elements using the
style
attribute or within a<style>
element in the HTML document's<head>
section.
8. CSS Preprocessors:
- CSS preprocessors like Sass and Less extend CSS by adding features like variables, nesting, and functions. They generate standard CSS files from preprocessor code, making styling more efficient and maintainable.
9. Responsive Web Design:
- CSS plays a critical role in creating responsive web designs that adapt to different screen sizes and devices. Media queries allow developers to apply different styles based on screen characteristics, enabling a mobile-friendly and adaptable layout.
10. Browser Compatibility: - CSS styles may render differently in various web browsers due to differences in rendering engines. Web developers often use vendor prefixes and employ best practices to ensure cross-browser compatibility.
In summary, CSS is a fundamental technology in web development that controls the visual presentation of web content. It enables web designers and developers to create aesthetically pleasing and responsive web pages by defining styles and layout properties for HTML elements, ultimately enhancing the user experience.
Links​
- CSS - Wikipedia
- Learn to style HTML using CSS - Learn web development | MDN
- Learn CSS
- CSS: Cascading Style Sheets | MDN
- CSS Speedrun | Test your CSS Skills
- eludadev/css-docs: CSS Selectors, Flexbox, Grid, Box Model, visually explained.
- CSS-Tricks - Tips, Tricks, and Techniques on using Cascading Style Sheets.
- Guides Archive - CSS-Tricks Archive - CSS-Tricks
- State of CSS
- Conditional CSS
- Mastering margin collapsing - CSS: Cascading Style Sheets | MDN
- 3D in CSS
- 100 Days Of More Or Less Modern CSS - Manuel Matuzović
- The Rules of Margin Collapse
- CSS Snippets - 30 seconds of code
- 109 CSS Text Effects
- Tree views in CSS
- CSS Loaders: A collection of more than 500 loading animations
- CSS { In Real Life } | Styling External Links with Attribute Selectors
- CSS Selectors: A Visual Guide & Reference | fffuel
- Getting started with CSS container queries | MDN Blog