Django入门教程

前言

第一章: django快速入门

第二章: django MTV架构

第三章: django视图

第四章: django模板

第五章: django模型

第六章: django后台管理系统

第七章: 项目实战-简易的博客系统

第八章:django表单

第九章:django用户认证系统

第十章:django中的会话

第十一章:django安全

第十二章:django性能优化

第十三章:django实用工具

首页 > Django入门教程 > 第七章: 项目实战-简易的博客系统 > 7.2节: 前端CSS快速入门

7.2节: 前端CSS快速入门

薯条老师 2020-09-16 08:26:10 232244 0

编辑 收藏

广州番禺Python, Java小班周末班培训

薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6

7.2.1 CSS:层叠样式表

html文件定义了网页的结构,借助于css, 可以定义网页的字体,布局,颜色等样式。在html中使用css有两种方式:

(1) 直接在html文件中定义css

(2) 将css分离到外部的样式文件,然后在link标签中引入。

本教程采用第二种方式,将html与css进行分离,以提升项目的可维护性。

7.2.2 css基本语法

css的基本语法为如下格式:

selector{
property1: value1;
property2: value2;
...
}

selector表示选择器,property: value表示属性值对,属性值对以逗号进行分隔。css的核心主要有以下两点:

(1) 使用选择器选择html中的元素

(2) 对选择的html元素使用属性-值,来定义样式

现在介绍常用的css选择器以及属性-值。

7.2.3 css 常用的选择器:

css常用选择器

 

描述

元素选择器

语法形式:tag_name,tag_name表示html中的标签名,例如选择html中的所有div,则写法为:div

 

ID选择器

语法形式:tag_name#id_name, tag_name表示html中的标签名,可省略,id_name表示html标签中定义的id名。例如html标签:<div id="wrapper"> </div>,则css中的id选择器写法为:div#wrapper或#wrapper。html中的id用来唯一地标识一个html元素。

 

class选择器

语法形式:tag_name.class_name, tag_name表示html中的标签,可省略,id_name表示html标签中定义的id名。 例如html标签:<p> </p>,则css中的class选择器写法为:p.article 或article。html中的class用来标识同一类型的html元素。

 

属性选择器

语法形式:[name=value],name表示html标签中的属性名,value表示属性值,属性选择器中仅包含属性名时,表示选择具备该属性的所有html标签。

例如选择所有具备href属性的标签,写法为:[href]。选择href属性值为www.giantsnow.com的标签,写法为:[href=www.giantsnow.com]

派生选择器

语法形式:tag_name1 tag_name2...,派生选择器表示选择在某一层级之下的所有标签,

例如:<div><ul><li><div></div></li></ul></div>,这是一种三层嵌套的html结构,顶级的标签为div,div下的标签为ul,ul下的标签为div,如需选择div下的ul标签,则写法为:div ul,选择ul下的div标签,写法为:ul div。选择div下的所有div标签,写法为:div div,此时ul下的div也会被选中。

各类选择器之间可以相互间组合成复杂的选择器,例如:div#wrapper .article [href],表示选择id为wrapper的div标签下的,所有article类型标签下的,具备href属性的所有标签。在实际开发中,应避免使用复杂难懂的选择器,以减小维护成本。

 7.2.4 css 常用的属性-值

选中了html中的元素以后,通过css中的属性-值来对元素的样式进行定义,在css中预定义了一系列标准的属性-值。

 css到现在一共迭代了三个版本,分别为CSS1,CSS2,CSS3,最新版CSS3在CSS2的基础上新增了许多属性,支持更高级的特性。

以下为css常用的属性-值:

css属性名

描述

color

设置文本颜色,颜色值有三种形式:

(1)标准颜色名,如red表示红色,green表示绿色,blue表示蓝色.

(2)十六进制颜色,在十六进制颜色前需加#符号,例如color:#ffffff

(3)rgb颜色,例如color:rgb(0,0,255,0.3),在rgb的格式中,分别表示设置RGB颜色中的R值,G值,B值,以及透明度。

 

line-height

设置行高,css中常用的单位:

(1) px:表示像素

(2) em:表示相对于当前的字体尺寸,例如1em表示当前的字体大小,2em表示当前字体尺寸的两倍,以此类推。

(3)cm:表示厘米

(4)%:表示相对于父标签的百分比大小

 

width

设置元素的宽度

 

height

设置元素的高度

 

text-align

设置文本的对齐方式,常用的属性值为:center,left,right,分别表示居中对齐,左对齐,右对齐。

 

font

对字体的所有属性进行设置,例如:font:italic bold 36px 楷体;

分别设置了字体的风格属性,粗细属性,大小属性,字体名属性,顺序不可变,属性值可以从右到左进行省略。可以单独对字体的某一个属性进行设置:

(1)font-style:字体的风格,常用的属性值为italic,normal,分别表示斜体,正常。

(2)font-weight:字体的粗细,常用的属性值为bold,表示对字体加粗

(3)font-size:设置字体的大小

(4)font-family:设置字体的名称

 

border

对元素的所有边框属性进行设置,例如:border:1px solid green,分别设置了元素的边框大小,元素的边框样式,元素的边框颜色,顺序不可变,属性值可以从右到左进行省略。可以单独对边框的某一个属性进行设置:

(1)border-width:设置边框的宽度

(2)border-style:设置边框的样式,常用的属性值为solid,dotted,double,dashed,分别表示实线样式,点状样式,双线样式,虚线样式。

(3)border-color:设置边框的颜色

(4)font-family:设置字体的名称

 

background

对页面的所有背景属性进行设置,例如:background:#00ff00 url(logo.png) no-repeat fixed top ,分别对背景的颜色,背景图像的url,背景图像的重复方式,背景图片的滚功方式,背景图片的位置进行了设置,顺序不可变,属性值可以从右到左进行省略。可以单独对背景的某一个属性进行设置:

(1)background-color:设置背景颜色

(2)background-image:设置背景图片的url,通过url表达式进行设置,例如background-image:url(logo.png)

(3)background-repeat:设置如何重复背景图像,默认为在水平和垂直方向进行平铺,常用的值为:repeat-x,repeat-y,no-repeat,分别表示在水平方向进行平铺,在垂直方向进行平铺,不平铺。

(4)background-attachment:设置背景图片的滚动方式,常用的值为:scroll,fixed,分别表示随页面的滚动进行滚动,对背景图片进行固定。

(5)background-position:设置背景图片的起始位置,可以通过表示方位的关键词来进行设置:center表示页面的中心位置,top表示页面的正上方,left表示页面的左方,right表示页面的右方,bottom表示页面的正下方。可以对位置关键词进行组合,例如top left表示左上角。

 

padding

设置元素的内边距,内边距是指元素边框内部方向的间距。例如:padding:0px 5px 15px 20px,分别设置元素的上方向的内边距,右方向的内边距,下方向的内边距,左方向的内边距,顺序不可变,属性值可以从右到左进行省略。可以单独对内边距的某一个属性进行设置:

 

(1)padding-top:设置上方向的内边距

(2)padding-right:设置右方向的内边距

(3)padding-bottom:设置下方向的内边距

(4)padding-left:设置左方向的内边距

 

margin

设置元素的外边距,外边距是指元素框与元素框之间的间距,例如:margin:0px 5px 15px 20px,分别设置元素的上方向的外边距,右方向的外边距,下方向的外边距,左方向的外边距,顺序不可变,属性值可以从右到左进行省略。可以单独对外边距的某一个属性进行设置:

 

(1)margin-top:设置上方向的外边距

(2)margin-right:设置右方向的外边距

(3)margin-bottom:设置下方向的外边距

(4)margin-left:设置左方向的外边距

 

box-shadow

CSS3的属性,设置边框的阴影属性,例如box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.25);分别设置水平阴影的位置,垂直阴影的位置,阴影的模糊度,阴影的尺寸,阴影的颜色,顺序不可变,属性值可以从右到左进行省略。

 7.2.5 css 实例

以下为7.1节HTML实例中所引用的index.css文件中的css代码,/**/括起来的为注释内容:

/*
定义所有div标签的外边距为0
*/
div{
margin:0;
}


/*
(1) 定义html文件中id为logo的div标签下的img标签的外边距样式
(2) margin:50px 0 5px  表示定义img标签外边距在上方向的间距为50个像素,
右方向的间距为0像素,下方向的间距为5个像素。margin的简写形式,可以从右至左进行省略,其它的同理。
*/
div#logo img{margin:50px 0 5px;}


/*
(1) 定义html文件中,class值为search-container的所有标签的样式
(2) text-align:center,设置文本对齐方式为居中
(3) font-size:14px,设置字体大小为14px
*/
.search-container{
text-align:center;
font-size:14px;
}
/*
(1) 定义html文件中,id值为query的标签的样式
(2) width:615px 设置宽度为615像素
(3) border:0 设置边框的宽度为0
(4) box-shadow 设置边框的阴影属性,CSS3中新增的属性
(5) line-height: 20px 设置元素的行高为20像素
(6) padding: 10px 5 px 10px 7px 设置元素内边距上方向的间距为10像素,
右方向的间距为5像素,下方向的间距为10像素,左方向的间距为7像素
(7) margin-right:-2px 设置元素外边距在右方向的间距为负2像素
*/
input#query{
width:615px;
border:0;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15);
line-height: 20px; 
padding: 10px 5px 10px 7px;
margin-right:-2px;
}


/*
(1) 定义html文件中,id值为submit的input标签的样式
(2) background: #DDDDDD 设置背景颜色为#DDDDDD,是一个十六进制的颜色
(3) background:-moz-linear-gradient(top,#fffeff,#dddddd) 设置背景颜色渐变的属性,
     目前火狐3.6以上版本和google浏览器支持这个属性。
 
(4) background:linear-gradient:(top, #ffffff, #dddddd) 使用linear-gradient函数设置
线性渐变的属性
(5) border:0 设置边框的宽度为0
(6) font-size: 16px 设置字体的大小为16像素 
(7) line-height:40px 设置元素的行高为40像素
(8) padding: 0 设置元素的所有内边距为0
(9) width: 105px 设置元素所在边框的宽度为105像素
(10)box-shadow 设置元素的阴影属性
*/
input#submit{
background: #DDDDDD;
background:-moz-linear-gradient(top,#fffeff,#dddddd);
background:linear-gradient:(top, #ffffff, #dddddd);
border: 0;
font-size: 16px;
line-height:40px;
padding: 0;
width: 105px; 
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.35);
}

7.2.6 最具实力的小班培训

薯条老师在广州做Python和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,包拿Offer
(3) 数据分析高薪就业班,月薪11K-15K, 免费领取课程大纲
(4)
Python大数据挖掘,量化投资就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取Python学习资料:



欢迎 发表评论: