开始使用CSS

CSS 指层叠样式表 (Cascading Style Sheets)。

样式定义如何显示HTML元素。

本文使用外部样式表为一个HTML指定样式,其中涉及的CSS知识范围很小,但是CSS的语法不复杂,可以通过互联网查询以了解更多的CSS知识。

引入CSS文件

在HTML中引入样式表的方法有三种:

  • 外部样式表
  • 内部样式表
  • 内联样式

当HTML和样式表是两个文件,或者同一份样式表被多个HTML文件使用时,可以使用外部样式表。

只需要在HTML文件中用<link>标签链接样式表即可,一般放在HTML的头部:

<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

如果要将样式写在HTML中,可以使用<style>标签:

<head>
<style>
hr {color:black;}
</style>
</head>

或者直接在标签中使用style属性:

<p style="color:red;margin-left:10px">这是一个段落。</p>

在本文中我们只使用外部样式表。

本文中要为鲁迅先生做一个简历,在没有引入样式表时,网页是这样的:

未使用样式表的页面

在使用CSS配置样式后,网页是这样的:

CSS配置后的网页

第一步,在网页中引入外部样式表:

<head>
    <title>鲁迅</title>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="my_style.css">
</head>

外部样式表的文件名是:my_style.css

由于这个样式表没有任何内容,所以网页显示内容没有任何改变。

id与class,CSS的语法

使用CSS来设置样式,需要使用选择器。

HTML元素可以作为选择器,比如:

p {
    color: yellow;
}

还可以使用id或者class选择器,其中id在整个HTML文档中是唯一的,class是可以多次使用的。

id选择器在CSS中使用#表示,例如:

#vip_name {
    color: red;
}

这个语句把id为vip_name的元素,颜色设置为红色。

class选择器在CSS中使用.表示,例如:

.vip_friends {
    color: blue;
}

这个语句把class为vip_friends的元素,颜色设置为蓝色。

类似于上面的例子,CSS的语法为:

CSS的语法

每条CSS语句中包含选择器和一条或多条声明,每条声明由一个属性和一个值构成。

CSS的注释被/**/包围:

h1 {
    /* 将一级标题设置为红色 */
    color: red;
}

上例中的注释是:将一级标题设置为红色

position

positon属性规定了元素定位值,通常有四个值:

  • static:默认值,即没有定位。
  • fixed:相对于浏览器窗口是固定位置,即使窗口滚动也不会变。
  • relative: 相对于其正常位置的定位。
  • absolute:相对于最近的已定位父元素的定位。

在本例中,文档中的简历部分由id为resume_base的部分包围,简历部分分为左栏和右栏,其id分别为resume_leftresume_right,程序结构如下:

<body>
    <div id="resume_base">
        <div id="resume_left">...</div>
        <div id="resume_right">...</div>
    </div>
</body>

在浏览器中显示如下:

resume_base

下面,我们将#resume_base通过relative方式定位,使它相对于正常位置下降5px。#resume_base的正常位置是指在默认情况下其显示的位置。语句如下:

#resume_base {
    position: relative;
    top: 5px;
}

#resume_left通过relative方式定位,将#resume_right通过absolute方式定位,使其距离左侧340px,语句如下:

#resume_left {
    position: relative;
}

#resume_right {
    position: absolute;
    top: 0px;
    left: 340px;
}

由于#resume_right的父元素#resume_base已经定位,所以它会显示于#resume_base内容左侧340px处。

此时网页显示如下:

使用position定位后的网页

盒子模型

#resume_left中的HTML代码如下:

<div id="resume_left">
    <div class="resume_head">
        <div class="resume_icon">
            <img src="image_address" alt="鲁迅">
        </div>
        <div class="p_info">
            <h1 class="p_name">鲁迅</h1>
            <ul class="p_info_list">
                <li>公务员、教师、作家</li>
                <li>1881年9月25日 - 1936年10月19日</li>
                <li>浙江省绍兴府会稽县</li>
            </ul>
        </div>
    </div>
</div>

可以看到,人物的基本信息全部包含在.resume_head中:人物照片在.resume_icon中;人物基本信息在.p_info中。

.p_info中:人物姓名以.p_name在标签<h1>中;其他信息以.p_info_list<ul>中。

在CSS中,HTML标签可以看做一个盒子:

CSS盒子模型

盒子有四个部分,由内到外分别是:内容、内边距、边框和外边距。

在设置尺寸的时候指的是内容的尺寸。

下面我们将#resume_left的内边距都设置为20px,内容宽度为300px:

#resume_left {
    position: relative;

    /* 设置内边距,顺序依次是 上、右、下、左。 */
    padding: 20px 20px 20px 20px;

    /* 设置宽度 */
    width: 300px;
}

#resume_right进行设置:

#resume_right {
    position: absolute;
    top: 0px;
    left: 340px;

    /* 设置外边距 */
    margin: 0px;

    /* 设置内边距 */
    padding: 20px 20px 20px 20px;

    /* 设置宽度 */
    width: 600px;
}

现在网页如下:

对边距进行处理后的网页

文本与图像,嵌套选择

现在让我们依次处理#resume_left中的内容。

#resume_left的背景颜色设置为#254665

#resume_left {
    position: relative;

    /* 设置内边距,顺序依次是 上、右、下、左。 */
    padding: 20px 20px 20px 20px;

    /* 设置宽度 */
    width: 300px;

    /* 设置背景颜色 */
    background-color: #254665;
}

页面如下:

左栏添加背景颜色后的网页

现在设置人物图片,即.resume_icon和其中的<img>:将.resume_icon中的内容设置为居中显示;为人物图片设置宽度。

设置居中显示很简单,只需要将text-align设置为center即可:

.resume-icon {
    text-align: center;
}

如果仅仅要设置.resume_icon中的<img>元素,需要使用嵌套选择器。这里使用.resume_icon img嵌套选择器,它仅仅操作.resume_icon中的<img>标签,对其他<img>标签无效:

.resume_icon img {
    width: 200px;
}

现在网页显示如下:

设置人物图片后

.p_info中的内容(人物名字和基本信息)设置为居中显示,并将内容设置为白色:

.p_info {
    text-align: center;
    color: white;
}

利用嵌套选择器对.p_info中的<h1>(人物名字)和<ul>(人物基本信息)做设置:

.p_info h1 {
    padding: 0;
    margin: 20px 0px 0px 0px;
}

.p_info ul {
    padding: 0;

    /* 不显示项目标识符 */
    list-style-type: none;
}

对于列表,通过list-style-type属性设置列表项目符号,默认为小黑点,none代表不显示项目符号。

现在页面显示如下:

设置列表之后的页面

设置字体

我们希望左边栏的文字是sans-serif类型的,使用font-family属性确定一个字体序列,浏览器会显示系统中安装的序列中最靠前的字体:

.p_info {
    text-align: center;
    color: white;

    /* 设置字体 */
    font-family:Arial,Helvetica,sans-serif;
}

CSS中还有很多字体设置属性,例如font-size设置字体大小等等。

至此,左栏的内容都设置完毕。

边框

在右栏中,HTML结构如下:

<div id="resume_right">
    <div class="resume_content">
        <div class="resume_edu">
            <h2>教育背景</h2>
            <ul class="edu_list">
                <li>1908年,从章太炎先生学习,为“光复会”会员。</li>
                <li>1904年,入仙台医学专门学校肄业。</li>
                <li>1902年,公费赴日本留学。</li>
                <li>1899年,转入江南陆师学堂附设矿务铁路学堂,学开矿。</li>
                <li>1898年,入南京水师学堂。</li>
            </ul>
        </div>
        <div class="resume_work">...</div>
        <div class="resume_repre_work">...</div>
        <div class="resume_evaluation"><p>...</p></div>
    </div>
</div>

人物的详细信息都被包含在.resume_content中。

每个板块的标题在<h2>中,内容有的在<ul>中,有的在<p>中。

<ul><p>设置字体:

.resume_content ul {
    font-family:"Times New Roman",Times,serif;
}

.resume_content p {
    font-family:"Times New Roman",Times,serif;
}

最后,设置板块的标题<h2>,首先为其设置颜色和字体:

.resume_content h2 {
    color: #254665;
    font-family:Arial,Helvetica,sans-serif;
}

为标题<h2>设置下边框:

.resume_content h2 {
    color: #254665;
    font-family:Arial,Helvetica,sans-serif;

    /* 设置下边框 值依次是:宽度 款式 颜色*/
    border-bottom: 1px solid #254665;
}

通过border-bottom设置下边框,它的值依次是宽度(1px)、款式(solid 实线)和颜色(#254665)。

此时页面在浏览器中显示如下:

通过CSS设置后的页面

至此,我们就完成了用CSS配置一个简历样式的工作。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容