CSS basics

news2024/11/18 19:36:03

CSS(Cascading Style Sheets,层叠样式表)是样式化web内容的代码。CSS基础将引导您开始所需的内容。我们将回答这样的问题:我如何把文本变成红色?我如何使内容显示在(网页)布局的某个位置?我如何用背景图片和颜色装饰我的网页?

1、What is CSS?

像HTML一样,CSS不是一种编程语言。它也不是一种标记语言CSS是一种样式表语言( CSS is a style sheet language)。CSS是用来选择性地设置HTML元素样式的工具。例如,下面的CSS选择段落文本,将颜色设置为红色:

p {
  color: red;
}

让我们试试吧!使用文本编辑器,将上述三行CSS粘贴到一个新文件中。将文件以style.css的形式保存在一个名为styles的目录中。

为了使代码工作,我们仍然需要将上述CSS应用于HTML文档。否则,样式不会改变HTML的外观。(如果您还没有跟上我们的项目,请在这里停下来阅读处理文件和HTML基础知识。)

  1. 打开index.html文件。将以下行粘贴到头部(在<head></head>标签之间):
<link href="styles/style.css" rel="stylesheet" />
  1. 保存index.html并将其加载到浏览器中。你应该看到这样的内容:
    在这里插入图片描述
    如果你的段落文字是红色的,恭喜你!你的CSS正在工作。

1.1 CSS规则集的剖析

让我们来分析一下红色段落文本的CSS代码,以了解它是如何工作的:
在这里插入图片描述
整个结构称为规则集(ruleset)。(术语ruleset通常被称为规则rule。)注意各个部件的名称:

选择器 (Selector)

这是规则集开头的HTML元素名。它定义了要样式化的元素(在本例中为<p> elements)。要样式化不同的元素,请更改选择器。

声明 (Declaration)

这是一个单一的规则,就像color: red;它指定要对元素的哪个属性(properties)进行样式化。

属性 (Properties)

这些是为HTML元素设置样式的方式。(在这个例子中,color<p>元素的一个属性。)在CSS中,您可以选择要在规则中影响哪些属性。

属性值 (Property value)

属性的右侧(冒号之后)是属性值。这将从给定属性的许多可能的外观中选择一种。(例如,除了红色red之外,还有许多颜色(color)值。)

请注意语法的其他重要部分:

  • 除了选择器之外,每个规则集都必须用花括号括起来。({})
  • 在每个声明中,必须使用冒号(:)将属性与其值分开。
  • 在每个规则集中,必须使用分号(;)将每个声明与下一个声明分隔开。

要修改一个规则集中的多个属性值,用分号分隔它们,如下所示:

p {
  color: red;
  width: 500px;
  border: 1px solid black;
}

1.2 选择多个元素

您还可以选择多个元素,并将单个规则集应用于所有元素。用逗号分隔多个选择器。例如:

p,
li,
h1 {
  color: red;
}

1.3 不同类型的选择器

有许多不同类型的选择器。上面的示例使用元素选择器(element selectors),它选择给定类型的所有元素。但我们也可以做出更具体的选择。下面是一些比较常见的选择器类型:

选择器名字它会选择什么例子
元素(Element)选择器(有时称为标签或类型(tag or type)选择器)指定类型的所有HTML元素。p selects <p>
ID selector页面上具有指定ID的元素。在给定的HTML页面上,每个id值都应该是唯一的。#my-id selects <p id="my-id"> or <a id="my-id">
类(Class)选择器页面上具有指定类的元素(s)。同一个类的多个实例可以出现在一个页面上。.my-class selects <p class="my-class"> and <a class="my-class">
属性(Attribute)选择器页面上具有指定属性的元素(s)。img[src] selects <img src="myimage.png"> but not <img>
伪类(Pseudo-class)选择符指定的元素(s),但仅当处于指定状态时。(例如,当光标悬停在链接上时。)a:hover selects <a>, but only when the mouse pointer is hovering over the link.

还有更多的选择器有待发现。要了解更多信息,请参阅MDN选择器指南。

2、字体和文本

既然我们已经探索了一些CSS基础知识,那么让我们通过向style.css文件添加更多规则和信息来改进示例的外观。

  1. 首先,找到你之前从“你的网站看起来像什么”中保存的谷歌字体的输出。将<link>元素添加到index.html头部的某个位置(在和</head>标记之间的任何位置)。它看起来是这样的:
<link
  href="https://fonts.googleapis.com/css?family=Open+Sans"
  rel="stylesheet" />

此代码将您的页面链接到一个样式表,该样式表在您的网页中加载Open Sans字体系列。

  1. 接下来,删除style.css文件中的现有规则。这是一个很好的测试,但让我们不要继续使用大量的红色文本。

  2. 添加以下几行(如下所示),用你从“你的网站看起来像什么?”中选择的font-family来替换font-family分配。属性font-family指的是要用于文本的字体。该规则定义了整个页面的全局基本字体和字体大小。因为<html>是整个页面的父元素,它里面的所有元素都继承相同的font-sizefont-family

注意:CSS中/**/之间的任何内容都是CSS注释。浏览器在呈现代码时忽略注释。CSS注释是一种为代码或逻辑编写有用注释的方式。

  1. 现在,让我们为在HTML正文中包含文本的元素(h1<li><p>)设置字体大小。我们还将标题居中。最后,让我们用行高和字母间距的设置扩展第二个规则集(如下),以使正文内容更具可读性。
h1 {
  font-size: 60px;
  text-align: center;
}

p,
li {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 1px;
}

根据你的喜好调整px值。你正在进行的工作看起来应该像这样:
在这里插入图片描述

3、CSS: 一切皆盒子

**你会注意到写CSS的一些事情:很多都是关于盒子(boxes)的。这包括设置大小、颜色和位置。**页面上的大多数HTML元素都可以看作是位于其他盒子(boxes)之上的盒子(boxes)。

CSS布局主要基于盒子模型(box model。每个占用页面空间的盒子都有如下属性:

  • 填充(padding),内容周围的空间。在下面的例子中,它是段落文本周围的空间。
  • 边框(border),在padding外的实线。
  • 边距(margin),即围绕边框外部的空间。

在这里插入图片描述
在本节中,我们还使用:

  • width: (元素的).
  • background-color:元素内容和padding背后的颜色。
  • color:元素内容(通常是文本)的颜色。
  • text-shadow:在元素内的文本上设置投影。
  • display:设置元素的显示模式(display mode)。(继续阅读了解更多)

为了继续,让我们添加更多的CSS。继续在style.css的底部添加这些新规则。尝试改变值,看看会发生什么。

更改页面颜色

html {
  background-color: #00539f;
}

该规则为整个页面设置背景色。将颜色代码更改为您在我的网站看起来像什么?中选择的颜色。

为body 设置样式

body {
  width: 600px;
  margin: 0 auto;
  background-color: #ff9500;
  padding: 0 20px 20px 20px;
  border: 5px solid black;
}

<body>元素有几个声明。让我们逐行查看:

  • width: 600px;: 这迫使主体始终为600像素宽。
  • margin: 0 auto;当你在像marginpadding这样的属性上设置两个值时,第一个值会影响元素的顶部和底部(在这种情况下设置为0);第二个值影响左侧和右侧。(这里,auto是一个特殊值,它将可用的水平空间在左右之间平均划分)。您还可以使用一个、两个、三个或四个值,如页边距语法中所述。
  • background-color: #FF9500;:设置元素的背景色。这个项目使用红橙色作为主体背景色,而不是<html>元素的深蓝色。(请随意尝试。)
  • padding: 0 20px 20px 20px;这将为填充设置四个值。目标是在内容周围留出一些空间。在这个例子中,body的顶部没有填充,并且在右侧、底部和左侧各有20个像素。这些值依次设置为top, right, bottom, left。与边距一样,您可以使用一个、两个、三个或四个值,如填充语法中所述。
  • border: 5px solid black;设置边框的宽度、样式和颜色。在这种情况下,它是一个5像素宽的纯黑色边框,位于机身的所有侧面。

主页标题的定位和样式

h1 {
  margin: 0;
  padding: 20px 0;
  color: #00539f;
  text-shadow: 3px 3px 1px black;
}

你可能已经注意到在Body的顶部有一个可怕的缺口。这是因为浏览器对h1元素(以及其他元素)应用了默认样式。这似乎是一个坏主意,但其目的是为无样式页面提供基本的可读性。为了消除间隙,我们用margin: 0;覆盖浏览器的默认样式。

接下来,我们设置标题的顶部和底部填充为20像素。

接下来,我们将标题文本设置为与HTML背景颜色相同的颜色。

最后,text-shadow对元素的文本内容应用阴影。它的四个值是:

  • 第一个像素值设置阴影与文本的水平偏移量(horizontal offset):它移动的距离。
  • 第二个像素值设置阴影与文本的垂直偏移量(vertical offset):它向下移动的距离。
  • 第三个像素值设置阴影的模糊半径(blur radius)。较大的值会产生更模糊的阴影。
  • 第四个值设置阴影的基本颜色。

试着尝试不同的值,看看它是如何改变外表的。

图像居中

img {
  display: block;
  margin: 0 auto;
}

接下来,我们将图像居中,使其看起来更好。我们可以再次使用margin: 0 auto技巧,就像我们对body所做的那样。但是有一些不同之处需要额外的设置才能使CSS工作。

<body>是一个块(block)元素,这意味着它占用了页面上的空间。应用于块元素的页边距将被页面上的其他元素所尊重。相比之下,图像是内联(inline)元素,对于自动边距技巧在此图像上工作,我们必须使用display: block;给它块级行为。

注意:上面的说明假设您使用的图像小于body上设置的宽度。(600像素)如果你的图片太大,它会溢出正文,溢出到页面的其他部分。要解决这个问题,您可以:1)使用图形编辑器减小图像宽度,或者2)使用CSS通过在<img>元素上设置较小的width属性来调整图像的大小。

注意:如果你不完全理解display: block;或者块元素和内联元素之间的区别。随着您继续学习CSS,它将变得更有意义。您可以在MDN的display参考页面上找到有关不同显示值的更多信息。

4、总结

如果你遵循了本文中的所有说明,你应该有一个类似于下面的页面:
在这里插入图片描述

(你可以在这里查看我们的版本。)如果你卡住了,你可以将你的工作与我们在GitHub上完成的示例代码进行比较。

在这个练习中,我们只触及了CSS的表面。要进一步了解,请参阅学习使用CSS为HTML设置样式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/983873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android Jetpack架构组件库:Hilt

一、开发者官网关于Hilt库使用链接如下 使用 Hilt 实现依赖项注入 Hilt版本说明 二、工程目录图 请点击下面工程名称&#xff0c;跳转到代码的仓库页面&#xff0c;将工程 下载下来 Demo Code 里有详细的注释 代码&#xff1a;LearnJetpack-hilt&#xff1a;hilt版本2.48 代…

生成订单30分钟未支付,则自动取消,该怎么实现?

今天给大家上一盘硬菜&#xff0c;并且是支付中非常重要的一个技术解决方案&#xff0c;有这块业务的同学注意自己试一把了哈&#xff01; 在开发中&#xff0c;往往会遇到一些关于延时任务的需求。例如 生成订单30分钟未支付&#xff0c;则自动取消 生成订单60秒后,给用户…

sqlserver 查询数据显示行号

查询的数据需要增加一个行号 SELECT ROW_NUMBER() OVER(ORDER BY witd_wages_area ,witd_wages_type ,witd_department_id ,witd_give_out_time) 行号,ISNULL(witd_wages_area, 0) witd_wages_area ,witd_wages_type ,witd_department_id ,ISNULL(CONVERT(VARCHAR(7), witd_gi…

《逃出大英博物馆》B站千万播放,国风文化才是主流

8月两位UP主煎饼果仔呀、夏天妹妹联合共创了一支短剧《逃出大英博物馆》&#xff0c;自预告释出以来就受到广泛关注&#xff0c;微博话题超5亿次阅读。 2023年初&#xff0c;大英博物馆被盗的消息引发全球关注&#xff0c;有网友留言&#xff0c;希望“拍一部动画片&#xff0…

PyTorch多GPU训练模型——使用单GPU或CPU进行推理的方法

文章目录 1 问题描述2 模型保存方式3 单块GPU上加载模型4 CPU上加载模型5 总结 1 问题描述 PyTorch提供了非常便捷的多GPU网络训练方法&#xff1a;DataParallel和DistributedDataParallel。在涉及到一些复杂模型时&#xff0c;基本都是采用多个GPU并行训练并保存模型。但在推…

Liunx环境安装字体(simsun为例)

一&#xff1a;下载simsun字体文件包 链接&#xff1a;https://pan.baidu.com/s/1jelox8MalDJDWTyx4Z9ghw 提取码&#xff1a;tttt二&#xff1a;把解压后的simsun.ttf、simsun.ttc放到 /usr/share/fonts目录 三&#xff1a;安装 // 刷新字体缓存 [rootxxxxxx fonts]# fc-ca…

为什么大家会觉得考PMP没用?

一是在于PMP这套知识体系&#xff0c;是一套底层的项目管理逻辑框架&#xff0c;整体是比较抽象的。大家在学习工作之后&#xff0c;会有人告诉你很多职场的一些做事的规则&#xff0c;比如说对于沟通&#xff0c;有人就会告诉如何跟客户沟通跟同事相处等等&#xff0c;这其实就…

ebay运营思路|学会这些技巧,新店铺销量翻倍

Ebay是一个老牌的跨境电商&#xff0c;目前仍然是稳坐全球前列的平台&#xff0c;也是强手如云的地方&#xff0c;虽然相对于亚马逊他显得没有那么“卷”。 要在这片市场中抢占一番天地&#xff0c;首先一定要学会一些高效的运营技巧&#xff0c;今天就来分享一些Ebay运营技巧…

SVPWM的原理及法则推导和控制算法详解

空间电压矢量调制 SVPWM 技术 SVPWM是近年发展的一种比较新颖的控制方法&#xff0c;是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波&#xff0c;能够使输出电流波形尽 可能接近于理想的正弦波形。空间电压矢量PWM与传统的正弦PWM不同&#xff0c;它…

chrome 谷歌浏览器 导出插件拓展和导入插件拓展

给同事部署 微软 RPA时&#xff0c;需要用到对应的chrome浏览器插件&#xff1b;谷歌浏览器没有外网是不能直接下载拓展弄了半小时后才弄好&#xff0c;竟发现没有现成的教程&#xff0c;遂补充&#xff1b; 如何打包导出 谷歌浏览器 地址栏敲 chrome://extensions/在对应的地…

如何配置远程访问以在外部网络中使用公司内部的OA办公系统——“cpolar内网穿透”

文章目录 前言1. 确认在内网下能够使用IP端口号登录OA办公系统2. 安装cpolar内网穿透3. 创建隧道映射内网OA系统服务端口4. 实现外网访问公司内网OA系统总结 前言 现在大部分公司都会在公司内网搭建使用自己的办公管理系统&#xff0c;如OA、ERP、金蝶等&#xff0c;员工只需要…

Instagram Shop如何开通?如何销售?最全面攻略

借助 Instagram 商店&#xff0c;品牌可以策划一系列可购物的商品&#xff0c;这些商品可通过其 Instagram 个人资料直接访问。这使得在应用程序上销售更容易&#xff0c;也被潜在客户发现。 一、什么是Instagram Shop&#xff1f; Instagram 商店为商家提供了一种在 Instagra…

3种等待方式,让你学会Selenium设置自动化等待测试脚本!

一、Selenium脚本为什么要设置等待方式&#xff1f;——即他的应用背景到底是什么 应用Selenium时&#xff0c;浏览器加载过程中无法立即显示对应的页面元素从而无法进行元素操作&#xff0c;需设置一定的等待时间去等待元素的出现。&#xff08;简单来说&#xff0c;就是设置…

组件以及组件间的通讯

组件 & 组件通讯 :::warning 注意 阅读本文章之前&#xff0c;你应该先要了解 ESM 模块化的 import export&#xff0c;如需要请查看 ESM 模块化。 ::: 上一篇有介绍到什么是组件化&#xff0c;就是把一个页面拆分成若干个小模块&#xff0c;然后重新组成一个页面。其中的…

iPhone 15有始终显示功能吗?它会出现在更多的苹果手机上吗?

和我们一样&#xff0c;你可能也在犹豫&#xff0c;iPhone 15将增加一个“始终显示”的功能&#xff0c;与一年前苹果Pro版手机的功能相匹配。然而&#xff0c;随着苹果9月活动的临近&#xff0c;没有太多传言可以让我们相信我们会如愿以偿。 你可能还记得&#xff0c;去年iPh…

导出Excel的技术分享-综合篇

导出Excel的技术分享-综合篇 简单的EasyExcel使用 /*** 最简单的写*/public void simpleWrite() {// 注意 simpleWrite在数据量不大的情况下可以使用&#xff08;5000以内&#xff0c;具体也要看实际情况&#xff09;&#xff0c;数据量大参照 重复多次写入// 写法1 JDK8// s…

GMSL技术让汽车数据传输更为高效(转)

目前&#xff0c;大部分车企都在其旗舰车型上配备了达到Level 2水平的自动驾驶技术&#xff0c;也就是高级自动驾驶辅助 ADAS系统。ADAS系统硬件主要由以下几部分组成&#xff0c;包括传感器、串行器、解串器、ADAS处理器等。 除了ADAS系统&#xff0c;包括传感器融合、音视频影…

Python实现SSA智能麻雀搜索算法优化LightGBM回归模型(LGBMRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法&#xff0c;在2020年提出&a…

山西电力市场日前价格预测【2023-09-08】

日前价格预测 预测明日&#xff08;2023-09-08&#xff09;山西电力市场全天平均日前电价为356.28元/MWh。其中&#xff0c;最高日前电价为409.23元/MWh&#xff0c;预计出现在19: 30。最低日前电价为323.46元/MWh&#xff0c;预计出现在24: 00。 价差方向预测 1&#xff1a; 实…

封装flexible.js,页面替换px为rem,实现不同分辨率适配

做的vue项目需要做个大屏&#xff0c;需要适配不同电脑的分配率&#xff0c;想到了rem&#xff0c;但是直接通过npm install flexible 安装的flexible.js默认设置的分辨率范围不符合现有的需求&#xff0c;所以就把安装包里面的flexible.js单独拿出来&#xff0c;然后改下分辨率…