forked from mattmakai/fullstackpython.com
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcascading-style-sheets.html
More file actions
215 lines (209 loc) · 10.1 KB
/
cascading-style-sheets.html
File metadata and controls
215 lines (209 loc) · 10.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
<!DOCTYPE html>
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Full Stack Python explains each layer of the web application stack, from the server up through the rendering in a user's browser.">
<meta name="author" content="Matt Makai">
<link rel="shortcut icon" href="theme/img/full-stack-python-logo-bw.png">
<title>Full Stack Python: Cascading Style Sheets</title>
<link href="theme/css/fsp.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
<style>
html,
body {
font-size: 18px;
color: #222;
background: #fefefe;
}
body {
padding-top: 30px;
}
.footer {
padding: 20px 0 30px 0;
}
a, a:hover {border-bottom: 1px dotted; color: #444;}
a:hover {text-decoration: none; color: #000;}
.logo-title {font-size: 56px; color: #403072; padding-top: 80px;
font-family: "News Cycle", "Arial Narrow Bold", sans-serif;
font-weight: bold; line-height: 30px; margin-left: 5px;}
.logo-title a, .logo-title a:hover {color: #000; text-decoration: none;
border-bottom: none;}
.logo-title a:hover {color: gray;}
.logo-image {vertical-align: top; border: none;}
a.list-group-item.active {background: #444; border: 1px solid #222;}
a.list-group-item.active:hover {background: #444; border: 1px solid #222;}
#sidebar {margin-top: 30px;}
@media (max-width: 600px) {
.logo-header-section {
margin: 20px 32px 0 0;
}
}
</style>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-19910497-7']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<a href="https://github.com/makaimc/fullstackpython.github.com" class="github">
<img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" />
</a>
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="logo-header-section">
<a href="/" style="text-decoration: none; border: none;"><img src="theme/img/full-stack-python-logo-bw.png" height="42" width="42" class="logo-image" /></a>
<span class="logo-title"><a href="/">Full Stack Python</a></span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-8">
<h1>Cascading Style Sheets (CSS)</h1>
<p>A Cascading Style Sheet (CSS) files contain rules for how to display and
lay out the HTML content when it is rendered by a web browser.</p>
<h2>Why is CSS necessary?</h2>
<p>CSS separates content contained in the HTML file from how the content
should be displayed. That separation between content and how to display it
enables devices to render the content differently based on factors such as
screen size. For example, a mobile device does not have as much space to
display a navigation bar on the side of a page so it is often pushed down
below the main content. The
<a href="http://getbootstrap.com/examples/blog/">Bootstrap Blog example</a>
shows that scenario when you resize the browser width.</p>
<h2>How is CSS retrieved from the web server?</h2>
<p>The HTML file sent by the web server contains a reference to the CSS file(s)
needed to render the content. The web browser requests the CSS file after the
HTML file as shown below in a screenshot captured of the Chrome Web Developer
Tools network traffic.</p>
<p><img src="theme/img/css-chrome-dev-tools.jpg" width="100%" alt="Google Chrome Web Developer Tools shows how CSS is separate from the HTML content." class="technical-diagram" /></p>
<p>That request for the fsp.css file is made because the HTML file for Full
Stack Python contains a reference to <code>theme/css/fsp.css</code> which is shown
in the view source screenshot below.</p>
<p><img src="theme/img/fsp-css-source.jpg" width="100%" alt="View source screenshot for the fsp.css file in index.html." class="technical-diagram" /></p>
<h2>Responsive design</h2>
<p>Responsive design is an approach for creating CSS that lays out content
differently based on screen attributes. The responsiveness is accomplished
by implementing
<a href="https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries">media queries</a>
in the CSS. </p>
<h2>CSS preprocessors</h2>
<ul>
<li>
<p><a href="http://sass-lang.com/">SASS</a></p>
</li>
<li>
<p><a href="http://lesscss.org/">LESS</a></p>
</li>
</ul>
<h2>CSS frameworks</h2>
<p>CSS frameworks provide structure and a boilerplate base for building a
web application's design.</p>
<ul>
<li>
<p><a href="http://getbootstrap.com/">Bootstrap</a></p>
</li>
<li>
<p><a href="http://foundation.zurb.com/">Foundation</a></p>
</li>
<li>
<p><a href="http://gumbyframework.com/">Gumby</a></p>
</li>
<li>
<p><a href="http://compass-style.org/">Compass</a>)</p>
</li>
<li>
<p><a href="http://www.profoundgrid.com/">Profound Grid</a></p>
</li>
<li>
<p><a href="http://www.getskeleton.com/">Skeleton</a></p>
</li>
<li>
<p><a href="http://html5boilerplate.com/">HTML5 Boilerplate</a></p>
</li>
</ul>
<h2>Design resources</h2>
<ul>
<li>
<p>The <a href="http://bootstrappingdesign.com/">Bootstrapping Design</a> book is one of
the clearest and concise resources for learning design that I've ever read.
Highly recommended especially if you feel you have no design skills but
need to learn them.</p>
</li>
<li>
<p><a href="https://kuler.adobe.com/create/color-wheel/">Kuler</a> is a complementary
color picker by Adobe that helps choose colors for your designs.</p>
</li>
</ul>
<h2>CSS resources</h2>
<ul>
<li>
<p><a href="https://developer.mozilla.org/en-US/docs/Web/CSS">Mozilla Developer Network's CSS page</a>
contains an extensive set of resources, tutorials and demos for learning
CSS.</p>
</li>
<li>
<p><a href="http://alistapart.com/article/css-positioning-101">CSS Positioning 101</a>
is a detailed guide for learning how to do element positioning correctly
with CSS.</p>
</li>
<li>
<p><a href="http://media.smashingmagazine.com/wp-content/uploads/images/css3-cheat-sheet/css3-cheat-sheet.pdf">CSS3 cheat sheet</a></p>
</li>
<li>
<p><a href="http://learnlayout.com/toc.html">Learn CSS layout</a> is a simple guide that
breaks CSS layout topics into chapters so you can learn each part one
at a time.</p>
</li>
</ul>
<br/>
Next read the
<a href="/static-content.html">static content</a> section.
</div>
<div class="col-md-offset-1 col-md-3" id="sidebar">
<div class="list-group">
<a href="/introduction.html" class="list-group-item ">Introduction</a>
<a href="/servers.html" class="list-group-item ">Servers</a>
<a href="/operating-systems.html" class="list-group-item ">Operating Systems</a>
<a href="/web-servers.html" class="list-group-item ">Web Servers</a>
<a href="/platform-as-a-service.html" class="list-group-item ">Platform-as-a-service</a>
<a href="/databases.html" class="list-group-item ">Databases</a>
<a href="/wsgi-servers.html" class="list-group-item ">WSGI Servers</a>
<a href="/web-frameworks.html" class="list-group-item ">Web Frameworks</a>
<a href="/application-dependencies.html" class="list-group-item ">Application Dependencies</a>
<a href="/cascading-style-sheets.html" class="list-group-item active">Cascading Style Sheets</a>
<a href="/static-content.html" class="list-group-item ">Static Content</a>
<a href="/source-control.html" class="list-group-item ">Source Control</a>
<a href="/caching.html" class="list-group-item ">Caching</a>
<a href="/task-queues.html" class="list-group-item ">Task Queues</a>
<a href="/api-integration.html" class="list-group-item ">API Integration</a>
<a href="/no-sql-datastore.html" class="list-group-item ">NoSQL Data Stores</a>
<a href="/web-application-security.html" class="list-group-item ">Web Security</a>
<a href="/logging.html" class="list-group-item ">Logging</a>
<a href="/monitoring.html" class="list-group-item ">Monitoring</a>
<a href="/configuration-management.html" class="list-group-item ">Configuration Management</a>
<a href="/web-analytics.html" class="list-group-item ">Web Analytics</a>
<a href="/best-python-resources.html" class="list-group-item ">Best Python Resources</a>
<a href="/about-author.html" class="list-group-item ">About the Author</a>
<a href="/change-log.html" class="list-group-item ">Change Log</a>
</div>
</div></div>
<hr/>
<div class="footer pull-right">
<a href="http://www.mattmakai.com/" class="underline">Matt Makai</a> 2014
</div>
</div>
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script src="theme/js/bootstrap.min.js"></script>
</body>
</html>