零基础入门web开发(3) —— 学习CSS样式

简介

一个优秀的网站必须拥有较高的颜值,今天我们就来学习如何给网页增加样式。

目标

  • 学习使用style属性修改元素的显示效果
  • 学习CSS语法

任务

  • 使用HTML+CSS构建页面

示范代码

从本节课开始课程中的一些例子将会给出完整的示范代码,共享地址为我的github,同时每节课内容的.md文件也收录在内(这意味着你以后也可以用github来追本教程了!)。

请关注本教程对应的github仓库吧!(求follow求star)

预期时间

  • 1-2天

样式

迄今为止我们所教的内容只能让你写出黑白的文字和线条组成的页面,这实在是有悖正常人类的审美,为了能够使得网页拥有高可定制的效果,HTML引入了样式的概念。每个元素都拥有非常多可以自己定义的样式:字体,背景色,背景图片,边框...

目前有三种方式来使用自定义的网页样式

1.使用style属性(内联样式)

这个非常好理解,直接在想要修改的元素中添加style属性,然后添加对应的样式描述就可以了

一个非常简单的例子:让我们定制一个字体颜色为红色的段落:

<p style="color:red">这是一个红色的段落...</p>

把它放在html的body中,用浏览器访问,你就能看到效果。

2.使用<style>标签声明全局样式

你可以在<head>标签中增加一个<style>标签,在其中书写全局应用的样式,style标签中应用的就是CSS语法,我们将会在下面介绍CSS是什么以及CSS的语法。

刚才的例子可以写成

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>CSS示范</title>
    <style>
        p {
            color: red
        }
    </style>
</head>

<body>
    <p>这是一个红色的段落</p>
</body>

</html>

*注意作用域,这样的写法会使得整个网页中所有的p标签中的文字都变为红色

3.使用外链引入CSS

当页面的样式变得繁多时,在页面中写大量的CSS内容就显得不合适了,因此可以将他们单独写在一个.css文件中,再引入。

创建demo.css,内容如下:

p {
    color: red
}

demo.html中的<head>标签中,添加下面的代码

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

注意href里的链接写法,参考第一节中提到的相对路径绝对路径

效果同上

样式的继承和覆盖

我们来考虑这样一个问题,html中的元素是存在嵌套关系的,因此互相嵌套的元素之间的样式会发生互相影响。

如果一个元素本身没有对应的样式,那么它的样式就会继承它的父元素
如果一个元素和它的父元素都声明了同一种样式,那么它的样式就会覆盖它的父元素

简单举例

继承

<div style="color:blue">
        <p>这是蓝色的文字</p>
</div>

覆盖

<div style="color:blue">
        <p style="color:red">这是红色的文字</p>
</div>

之所以会产生这样的原因,是因为样式的渲染是存在一个类似“就近原则”的优先级

另外即便只有一个元素,它的样式也存在优先级:

内联样式 > ID样式 > 类别样式 > 标记样式

后面三种样式之后会详细讲解

尝试入门样式!

参考下面教程来学习使用样式!

CSS

样式的写法应该拥有统一的语法和规范,因此诞生了CSS

CSS版本经过了多年的迭代,目前主要使用CSS 3版本,此外也衍生出多个变种(比如LESS,SESS)

接下来有关CSS的教程会把主要的css和html内容分开,使用外链方式引入一个.css文件来实现。

基础语法

一个css区块的形式大致如下:

选择器 {
    样式名称:值
}

它会对选择器所能选择的所有元素都应用大括号里面的样式

补充知识:元素的class和id

html元素有两个特别的“身份”属性,它们是应用css样式的重要基础。

class 类别

一个字符串,可以对多个元素应用同一个class,它表明了多个元素归属于“同一类”,如下:

    <div class="card">
        <p>this is card 1</p>
    </div>
    <div class="card">
        <p>this is card 2</p>
    </div>

这两个div就都是“card”类型的了(现在还看不出有什么用)

id 标识

一个id只能应用给一个元素,是该元素的唯一标识符。

注意:id不能是纯数字

    <div class="card" id="card1">
        <p>this is card 1</p>
    </div>
    <div class="card" id="card2">
        <p>this is card 2</p>
    </div>

接下来我们使用不同类型的选择器来应用样式

类别选择器:.

.example 可以选择所有class="example"的元素

id选择器:#

#example 可以选择所有id="example"的元素

综合示范

创建两个class为card的div,id分别为card1和card2

html

    <div class="card" id="card1">
        <p>this is card 1</p>
    </div>
    <div class="card" id="card2">
        <p>this is card 2</p>
    </div>

对所有card类应用样式使得其背景色为粉色,字体颜色为蓝色

对card1单独应用样式使其字体颜色为黑色

对card2单独应用样式使其背景色为灰色

css

.card {
    background-color: pink;
    color: blue;
}

#card1 {
    color: black;
}

#card2 {
    background-color: gray;
}

使用外链方式引入css文件,得到显示效果为:

请仔细体会样式的优先级。

示范代码

请查看case2目录下的3-1.html3-1.css

CSS学习路径与指南

CSS在网页的��编写中拥有重要的地位,但是大多数时间我们会引入一些现有的CSS样式表来改善网页样式,而不是从头编写。

限于精力和篇幅限制,本节课有关css样式的内容只能点到为止了,下面给出CSS较为完整的学习路径和指南,以及一些相关课程,对于CSS和网页样式有兴趣的同学不妨尝试学习一下。

CSS主要应用于web前端,�在后面的前端篇课程中我们会继续深入讲解CSS�。

学习路径与知识点�

  • 基础属性:

    文字,颜色等

  • 布局属性:

    �外边距,内边距,边框,盒子模型

  • 布局*� :

    这里是个重点也是个坑,传统技术�一般使用绝对定位和相对定位加上浮动布局来实现各种布局,现在我们则多采用新的flex布局方式,如果你想了解布局可以看看上面讲到的知识点,后面的前端教程篇我们会深入讲解flex布局

css推荐学习教程

小结

本节课介绍了一些基本,简单的css样式和用法,因为不是本次教程的重点所以没有深入讲解,�建议有兴趣的同学自己了解一下,后面前端篇的课程也会进一步讲解。

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,737评论 1 92
  • CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器...
    百作不死的学习阅读 1,160评论 0 7
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,066评论 0 40
  • 早餐时,孩子夹老干妈时,筷头伸到了我面前,影响了我吃饭。她把老干妈瓶子拿到另一边,我心里立即有些难受,因为在上一秒...
    雾霾走开阅读 283评论 0 0
  • 从不期待突如其来的好运,只希望所有的努力终有回报。你就像一根救命的稻草,虽然微不足道但满是希望。
    杜也行阅读 87评论 0 0