初学者的CSS指南

什么是css?

CSS是一种为您的网站添加样式(颜色,图像,边框,边距...)的语言。这真的很简单。CSS不用于在您的网站上放置任何内容,它只是用于获取您拥有的内容并使其变得漂亮。首先要做的是将CSS文件链接到HTML文档。通过添加以下行来执行此操作:


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

该行应放在您的<head>代码之间。如果您有多个页面,则可以为所有页​​面添加完全相同的行,并且它们都将使用相同的样式表,但稍后会有更多相关内容。让我们看看我们刚刚链接到的文件“style.css”。

    h1 { font-size: 40px;

    height: 200px;

    }

    .warning { color: red; font-weight: bold;

    }

    #footer { background-color: gray;

    }

你有三个选择那里,h1,.warning和#footer。选择器只指向HTML文档中的某个位置。它可以以多种方式构建,并且可以是以下构建块的组合:

1.元件

2.类

3.ID

我将通过所有这三个并解释他们做了什么。

一个元素在HTML标签指向某个网页上。在上面的示例中,我们要为`<h1>`-tag 设置样式。请注意,使用类似的元素会影响具有该名称的所有标记,因此使用`p { margin-left: 100px; }`给所有 `p -tags`一个左边距。

使用类也很简单。在编写时.your_class,所有标签都使用名为“your_class”的类来设置样式。在上面的例子中,我们有.warning这将样式如`<div class="warning">`和`<em class="warning">`,那就是与类警告任何元素。如果您想以某种方式设置几个标签的样式,可能会使用类,也许您希望某些链接变红?将类添加到所有这些链接。

你还需要一个构建块:id。这次你设置一个元素,其属性“id”设置为你选择的id。除了一件事以外,它的工作方式与类完全相同; 在每个HTML文档中只能有一个具有特定名称的ID。在上面的例子中我们风格`<div id="footer">`。如果您查看示例,它确实有意义:HTML文档可能包含多个警告但只包含一个页脚。当您只想设置一个特定标签时,应该使用ID。

使用这三个构建块将带您走远,但是当您进入更高级的布局时,您可能希望将构建块组合到更高级的选择器中。只是给你两个你可以做的例子:em.warning只设置那些`<em>`带有类.warning集的标签。您还可以使用#footer a仅设置嵌套在ID为“footer”的标记内的链接的样式。很好,不是吗?

每个选择器都有一组与它们相关的声明。每个声明都有一个属性,描述我们想要更改的内容和值,我们应该将其更改为什么。那里的条款太多了?你还在听我说吗?让我用一个例子来解释:`a { color: Blue; font-size: 3em; }`。您有选择器 a,因此文档中的所有链接都将被设置样式。我们有两个声明:color: Blue和font-size: 3em;。最后,每个声明由两部分组成:属性 color和值 Blue。唷!做得好到目前为止。上面的术语很有用,因为它为您提供了一种谈论CSS的方法。如果你加入一个CSS频道寻求代码的帮助,他们会告诉你“你在第二个声明中的a-selector中有错误”你知道确切的位置!对?

现在你可能会问有什么属性。你看过了font-size,color但还有什么?答案是,有很多东西你可以风格和玩耍。另外(接近)所有标签在CSS中是相同的,因此如果您仅使用HTML,则可以像使用表一样设置任何元素的边框和颜色。开始看到可能性?

CSS就是分离

CSS最少遵循的部分之一就是它背后的理念,即内容和设计分离的想法。这里的想法是所有网站都包含两个主要部分,内容:所有文章,文字和照片以及设计:圆角,颜色和效果。通常这两个是在网页的生命周期的不同部分制作的。设计在开始时确定,然后您开始填充内容并保持设计固定。因此,如果您只是想为您的网站添加内容,您不希望被迫使用该设计,是吗?反过来也是如此,如果您决定重新设计,为什么还要弄乱内容,确保它适合新的布局?

在CSS中,你只需添加<link>我告诉你的关于HTML文档头部的nifty -tag,你就已经创建了一个指向你设计的链接。在HTML文档中,您只放置内容,而您的链接确保它看起来正确。您还可以在许多页面上使用完全相同的链接,为它们提供相同的设计。你想添加内容吗?只需编写一个简单的HTML文档,并考虑标记为“标题”而不是“大蓝色标题”,并使用CSS使所有标题看起来像你想要的方式!

这是一种不同的网页思考方式,这需要一段时间让我理解。为了帮助你,我写了一些好的和坏的编码的例子。这有什么问题?

    <font size="3">Welcome to my page</font>

注释:font-tag的设计和设计不应该在HTML文档中。所有设计都应该在CSS文件中!而是这样做:

在HTML中:

    <h1>Welcome to my page</h1>

在CSS中:

    h1 { font-size: 2em; }

还有一个例子:

    <b>An error occurred</b>

评论:这看起来不对吗?但如果你抬头`<b>`找到什么代表你很快就会发现大胆。但大胆的当然是设计,所以它仍然不属于HTML文档。一个更好的选择是`<em>`代表强调或简单地说“这段文字很重要”。因此,不要说“这个文本看起来像这样”,而是说“这个文本很重要”,你让看起来由CSS决定。似乎是一个小改动,但它说明了如何选择您的标签。请改用:

    In the HTML:

    <em>An error occured</em>

    In the CSS:

    em { font-weight: bold;

    color: Red;

    }

最后一个例子:

    <table>

    <tr>

    <td><a href="">北京尚学堂</a>

    </td>

    </tr>

    <tr>

    <td><a href="">www.bjsx.com</a>

    </td>

    </tr>

    ...

    </table>

评论:很多人都像上面的例子那样格式化他们的导航菜单。但导航菜单真的是一张桌子吗?如果您查找表的定义,您会看到它是为表格数据制作的,您将在Excel工作表中输入相同类型的数据。该示例只有一列数据,没有标题......有些人声称他们使用表格,因为这意味着他们可以在导航中获得边框和背景颜色,但这正是CSS文件的用途(而不是HTML文档) )。那我们该怎么办?深入了解w3schools的HTML元素列表,你会发现一个叫做无序列表的东西<ul>。看看这个:

    In the HTML:

    <ul>

    <li><a href="">北京尚学堂</a></li>

    <li><a href="">www.bjsxt.com</a></li>

    ...

    </ul>

    In the CSS:

    li {

    border: 1px solid;

    }

这可能是一种不同于HTML习惯的方式,而不是相信我,但是当你使用它一段时间后,你会看到它的强大功能。这种编码方式不仅可以为您提供更合理的结构,还可以证明这可以提高您在搜索引擎中的排名,并使辅助功能设备更容易阅读您的网站。这种设计方式很棒。

接下来,我们将构建一个简单的HTML模板,以便在构建新页面时用作开始。喜欢看吗?

构建基于标准的HTML模板

我们已经讨论了CSS和HTML背后的理论,它们共同构成了一个与设计分离的良好结构的网站。但是你打字时,构建页面的第一部分总是一样的

    <!doctype html>

    <html>

    <body>

    <div id="header">

    <!-- Header here! -->

    </div>

    <div id="navigation">

    <!-- Navigaiton here! -->

    </div>

    <div id="content">

    <!-- Content here -->

    </div>

    </body>

    </html>

好吧,那里可能会有一些新东西让我们一个接一个地浏览。首先我们说明这个文档的doctype:我们使用什么语言。您可能听说过XHTML,这是另一种类似的Web语言,但是对于第一页,我们不需要能够访问的功能,保持简单,只需使用HTML。此外,`<!doctype html`>上面设置文档使用严格的 HTML。要了解您需要知道浏览器中有两种呈现方式。一个遵循W3C设置的标准,“标准模式”,一个用于旧页面,称为“怪癖模式”。标准模式是我们想要使用的。它使得页面在现代浏览器中呈现(几乎)相同,并使我们不再依赖于特定的浏览器,我们只会遵循标准。Quirks模式是一种bug模式。它是保持旧页面看起来与浏览器开始尝试遵循标准之前的相同,因此故意充满了奇怪的错误。浏览器根据我们使用的doctype确定要使用的渲染模式,因此请确保使用正确的文档类型!

好。对于单行代码,这是很多解释,我现在会更快,下一行。您可能`<html>`以前在文档的开头写过。除了我在lang="en"那里添加之外,我的界限几乎就是这样。该行告诉浏览器我们将使用哪种语言。为什么我们使用哪种语言很重要?你问......好吧,有一种辅助技术可以向网络读者大声读取网页。那些人必须知道能够发音的语言是什么。你可以很容易地添加这几个字符,为什么不这样做呢?如果您不打算制作英文页面,可以通过访问WAIs语言代码找到您自己的语言代码,并在那里查看两个字母的名称(注意: 语言代码是小写的。

接下来我们有文件的负责人。头部包含一些关于页面的元信息,如字符编码,标题和要使用的样式表(CSS文件)。那里的charset是最棘手的,所以让我们先拿出来。一种语言中有很多不同的字母。当最初构建工程师的计算机只考虑美国/英语时,他们甚至没有想到瑞典的字母å,ä,ö或deutschumlautü或者&-sign?有很多角色,起初没有就如何处理它们达成一致意见。这时,有人想出了将其分组为的聪明的主意套,在世界某些地方使用的字符组。因此,元标记所做的只是简单地说:“这个人想要输入西方字符(拉丁字符1个字符)”,这告诉浏览器要使用什么字符集。更通用的方法是使用utf-8字符集但很快就会变得棘手。最后,我们在那里有一个text / html,它只是告诉服务器将文档作为HTML发送,而不是像图像那样。该`<title>`和<link>你应该熟悉,如果没有,baidu一下:)

这只是几行代码的很多信息,我希望我没有给人的印象是这些东西很难,因为它不是。要使用上面的内容,您只需复制并粘贴它,然后开始填充内容。

文档的主体由一堆分区组成,让我们为它们添加一些内容:

    ...

    <div id="header">

    <h1>The name of this page</h1>

    </div>

    <div id="navigation">

    <h2>Navigation</h2>

    <ul>

    <li><a href="first.html">First</a></li>

    <li><a href="second.html">Second</a></li>

    <li><a href="third.html">Third</a></li>

    </ul>

    </div>

    <div id="content">

    <h2>Content</h2>

    北京尚学堂科技有限公司是一家从事JAVA、前端、hadoop大数据云计算技术开发为一体的软件公司。公司由海外留学人员和国内IT精英人士创建,主要成员均拥有硕士以上学位,毕业于国内著名大学如:清华大学,北京航空航天大学等。

        </div>

    <div id="footer">

    This page is written by [Your name] and builds on a

    <a href="http://friendlybit.com">Friendlybit template</a>.

    </div>

    ...

我们在这做了什么?首先,您应该注意,文档的快速概述会告诉您很多内容。你可以很容易地看到一些东西是标题(h1,h2),有些只是一个链接列表(ul,li,a)。让我们快速浏览一下代码:

首先我们有一个标题。标题通常是一个大图像和一些文本。有些页面根本没有HTML标题,它们只链接到图像并在该图像中包含文本。问题在于搜索引擎和屏幕阅读器都无法获得标题文本。由于标题文本是最重要的描述,访问者必须访问他们所访问的页面,因此您确实遇到了问题。所以请相信我,保留那里的文字。

接下来我们有导航。导航应该几乎总是标记为无序的链接列表。我已经看到了这个最奇怪的变体,包括表格,嵌套表格,每行之后的`-tags等等,但是唯一的内容是链接列表,为什么不是这样呢?使用列表并不意味着它必须以某种方式查看,请记住,稍后在CSS中处理所有设计,这只是我们在这里处理的HTML。注意:您可以轻松删除子弹标记list-style: none;,这不是使用其他HTML的理由。

HTML文档中最重要的部分是内容。这就是人们访问您网页的原因,这是您应该投入大部分精力的地方。使用适当的标题标记标记您的标题,并确保它们看起来与普通文本不同,这样可以更轻松地快速掌握您想说的内容。在段落周围使用段落标记可以更轻松地设置文本样式。CSS text-indent: 2em;只在每个段落中的第一个单词之前添加了一些空格,只是为了说明当你使用好的标记时可以用CSS做的一件简单的事情。

最后,在页面中添加页脚可能是个好主意。确保您在此处或您网站上的其他位置有某种联系信息,谁知道人们会问你什么?如果您想帮助我,您也可以在您网站的某个位置添加指向此网站的链接。如果你这样做,非常感谢!

在这篇简短的初学者指南的下一页(也就是最后一页)中,我们将包装所有内容并添加一些示例CSS。您可以在页面上免费复制和使用所有内容。准备?

完整的HTML模板和示例CSS

让我们首先将我展示的两个HTML放在一起,然后将它与一些示例CSS结合起来:示例HTML + CSS。您可以在下面找到制作该页面的所有代码。您可以随意复制以下代码并自行试验。

    <html lang="en">

    <body>

    <div id="header">

    <h1>The name of this page</h1>

    </div>

    <div id="navigation">

    <h2>Navigation</h2>

    <ul>

    <li><a href="first.html">First</a></li>

    <li><a href="second.html">Second</a></li>

    <li><a href="third.html">Third</a></li>

    </ul>

    </div>

    <div id="content">

    <h2>Content</h2> Some sample content, add your own here

    </div>

    <div id="footer"> This page is written by [Your name] and builds on a

    <a href="http://friendlybit.com">Friendlybit template</a>. </div> </body> </html>

我们来看看上面的六条规则。首先我们设置body的背景颜色,body是所有内容的背景,所以这将与HTML中的bgcolor相同。

接下来,我们在页面上的所有分区上设置一些样式。我们有四个,通过这个单一的规则,我们会影响他们。首先,我们将黑色边框设置为3像素宽(请注意,CSS中的数字和单位之间没有空格)。然后我们将填充(边框和内容之间的空间)设置为7像素,最后我们将所有div的宽度设置为600像素(请注意,边距,边框和填充不包括在宽度中)。

第三个规则选择页面上的所有标题,并从中删除边距(边框和其他附近元素之间的空格)。在元素之间使用逗号将相同的CSS应用于所有元素。

接下来,我们为三个部门制定了一些具体规则。我们将导航定位在内容的左侧。这是通过使用浮动来完成的,这是一种并排放置的方法。如果你在HTML中的图像上使用了align-attribute,你就会知道浮点数是如何工作的,它们将元素尽可能地移动到左边,然后让下一个元素紧跟在它旁边。如果你想在浮子下面放一些东西,你需要清除它。清除将元素向下移动,直到它位于任何浮动的下方,正好是我们想要页脚的位置。因此,导航和内容都会浮动并给定宽度以匹配600像素宽的标题,并且页脚将被清除。

希望对大家有所帮助,大家多多关注!

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,728评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,424评论 1 45
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,828评论 0 0
  •   DOM 1 级主要定义的是 HTML 和 XML 文档的底层结构。   DOM2 和 DOM3 级则在这个结构...
    霜天晓阅读 1,422评论 1 3
  • 正如我们在前一章中所解释的那样,HTML元素使网页设计者能够在文档中标记其结构。HTML规范列出了浏览器应如何显示...
    摩羯青春我掌握阅读 310评论 0 0