当前位置: 首页 > article >正文

前端入门之HTML与CSS

目录

一、前言

二、HTML

HTML基本语法结构

HTML常见标签

html

head

body

title

标题标签: h1-h6

段落标签: p

换行标签: br

格式化标签

图片标签: img

11. 超链接标签: a

12. 表格标签

13. 列表标签

14. form标签

15. input标签

16. select下拉菜单

17. div 与 span

三、CSS

CSS基本语法规则

CSS选择器

2. CSS常用属性

字体属性

2. 文本属性

3. 背景属性

4. 圆角矩形

3. 元素显示模式

4. CSS盒子模型

5. 弹性布局


一、前言

前端开发主要使用三个编程语言:HTML、CSS、JavaScript。

注意:HTML和CSS并不是我们通常意义上的编程语言。通常的编程语言是能表述逻辑的,而这两个表达不了逻辑,它们只是表达一些“属性”,用于描述一个东西是什么样子的,而不能描述这个东西干了什么事情。

注意区分三个语言的联系:

HTML描述了网页的骨架(页面中有什么东西);

CSS描述了网页的样式(类似形容词,给网页修饰);

JS描述了网页的行为(如何和用户交互)。

二、HTML

  1. 在记事本中写一个hello world,注意保存时修改拓展名为.html

直接拖放到浏览器 或者 双击打开 就可以运行了。

  1. 接下来写一个更合法的HTML的代码,执行效果和上面一样,代码是更合法的写法。

注:浏览器对于HTML的语法格式的检查并没有很严格,并不像严格的Java语言,即使代码有一些不合规范之处,浏览器也会尽可能的去执行。

  1. 实际上在开发过程中一般使用VSCode这样的编辑器来编写前端代码。

HTML基本语法结构

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>hello world
</body>
</html>
  1. HTML代码是通过标签来组织的。 形如<html></html>用尖括号组织的, 成对出现的这个东西就是"标签(tag)", 也可以叫做"元素(element)"
  2. 一个标签通常是成对出现的

<html>是开始标签; </html>是结束标签. 这两个标签之间是标签的内容.

少数标签是可以只有一个开始标签的, 比如说 单标签.

  1. 标签是可以嵌套的.一个标签的内容可以是其他一个或者多个标签. 此时, 这些标签构成了一个"树形结构"
  2. 可以在开始标签中, 给标签赋予 属性(Attribute). 属性相当于是键值对, 可以有一个或者多个.

HTML常见标签

html

这是一个html文件的最顶层标签.

存放了这个页面的一些属性(元数据, meta data)

body

存放了这个页面包含哪些内容

title

网页的标题

<!-- 这是注释 -->

注释的内容不会再页面中显示, 但是如果在网页中右键查看网页源代码, 此时是可以看到注释的.(vscode中使用Ctrl + /快速注释代码)

标题标签: h1-h6

h1最大最粗, h6最小最细

注: 通常情况下html每个标题标签都是独占一行的, 这个独占一行和代码编写无关.

在html里面的标签是否换行, 和代码的编写无关, 而是和标签自身有关.(有点标签独占一行, 有点标签不独占)

在html源代码中写的换行会被忽略.写的空格,多个空格会被视为一个(有的时候忽略, 有点时候视为一个.....)

段落标签: p

注: 每个段落之间, 不光是要换行, 同时还有一个明显的段落间距.

换行标签: br

格式化标签

变粗: strong / b

倾斜: em / i

删除线: del / s

下划线: u / ins

图片标签: img

img核心属性: src(必填项). src描述了该图片的路径, 这个路径可以是一个本地的绝对路径, 也可以是一个相对路径, 还可以是一个网络路径.

alt属性: 在图片加载不出来的时候, 就会显示alt对应的文本.

title属性: 鼠标悬停在图片上, 会给出一个提示.

width / height: 描述图片的尺寸.

11. 超链接标签: a

"链接" link, 也就是快捷方式.

a核心属性: href. href描述了目标页面的地址.

注: 超链接跳转到的页面, 可以是在当前网站之外的.

target属性: 一般写作 target="_blank", 就可以打开一个新的标签页(而不会替换原有页面)

12. 表格标签

table表示整个表格.

tr表示一行; td表示一个单元格; th表示表头中的一个单元格.

13. 列表标签

有序列表: ol (ordered list)

无序列表: ul (unordered list)

列表项: li (list item)

14. form标签

使用form标签进行前后端交互. 在页面上, 用户进行的操作/输入提交到服务器上.

15. input标签

input有很多形态, 能够表现成各种用户用来输入的组件.


<input type="text">

单行文本框


<input type="password">

也是单行文本框, 用于专门输入密码.


请选择性别: 
<input type="radio"> 男
<input type="radio"> 女

对于单选框, 需要加个name属性. name属性相同的 单选框, 值之间是互斥的.


大学生每天都在干什么:
<input type="checkbox"> 吃饭
<input type="checkbox"> 睡觉
<input type="checkbox"> 学习

注: 也可以使用checked属性来设置默认选中的.


<input type="button" value="我是个按钮>

对于按钮点击之后要干啥, 需要通过JS来配合.


提交按钮(搭配form使用)

<input type="submit">

外表和button差不多, 会触发form和服务器的交互


<input type="file">

文件选择框


textarea多行编辑框

16. select下拉菜单

    <select><option>北京</option><option>上海</option><option>深圳</option><option>广州</option><option>杭州</option></select>

17. div 与 span

div与span都是无语意标签, 前面的标签都是有特定含义的. 那么这里没有含义的两个标签, 就可以用在各种场景.

div默认是独占一行, 是块级元素;

span默认是不独占一行, 是行内元素.

三、CSS

CSS基本语法规则

选择器 + 若干属性声明

总的来说, 就是通过选择器选中一个元素, 然后对包含这个元素的内容的属性加以操作.

    <style>p {color: red;font-size: 30px;}</style>

那么{ }里面的CSS属性可以是一个或者多个, 每一个属性都是一个键值对. 键和值之间使用 : 分割. 键值对使用 ; 分割. 每个键值对可以独占一行, 也可以不独占.

有三种写CSS的样式.

  1. 内部样式: 使用style标签, 直接把CSS写到html文件中. 此时的style标签可以放到任何位置. 一般建议放到head标签里.
  2. 内联样式: 使用style属性, 针对指定的元素设置样式.(此时不需要写选择器, 直接写属性键值对) 这个时候样式只是针对当前元素生效.
  3. 外部样式: 把CSS代码单独作为一个.css文件, 再通过link属性, 让html引入该css文件.

注: 实际开发中, 一般都是使用外部样式来写CSS. 让html和css分离开, 相互不影响.

CSS选择器

  • 标签选择器

在 { 前面写标签名字. 此时意味着会选中当前页面中所有的指定标签.

  • 类选择器

可以创建CSS类, 手动制定哪些元素应用这个类.

定义类, 需要用 . 开头.引用这个类的时候, 通过class 属性 = "类名"

注:

一个类, 可以被一个元素引用, 也可以被多个元素引用. 一个元素可以引用一个类, 也可以引用多个类.

CSS是一个层叠样式表. 一个元素是可以被应用多组样式的, 这些样式就好像一层一层的叠加上去的.

  • ID选择器

html页面中的每个元素, 都是可以设置一个唯一的ID的, 作为元素的身份标识.

给元素设置ID之后, 就可以通过ID来选中对应的元素了.

注: 类选择器, 是可以让多个元素应用同一个类的. 而ID选择器, 则只能针对唯一的元素生效, 因为在一个页面里, 只能有唯一的ID.

小结:上面三个选择器都属于简单的基础选择器. 除此之外, CSS还支持一些更复杂的"复合选择器", 实际上复合选择器就是把前面的基础选择器组合一下


  • 后代选择器

把多个简单的基础选择器组合一下(可以是标签, 类, ID选择器的任意组合)

        ul li {color: red;}

以上代码的含义就是先找页面中所有的ul, 然后在这些ul里再找所有的li.

  • 子选择器

把多个简单的基础选择器组合一下(可以是标签, 类, ID选择器的任意组合)

只是找匹配的子元素, 不找孙子元素之类的~

选择器1>选择器2 {属性......
}
  • 并集选择器
选择器1, 选择器2 {属性......
}

多组选择器, 应用了同样的样式

  • 伪类选择器(复合选择器的特殊用法)

前面的选择器是选中某个元素, 伪类选择器是选中某个元素的某个特定状态.

比如:

:hover 鼠标悬停时候的状态

:active 鼠标按下时候的状态

2. CSS常用属性

CSS的属性是用于具体的样式设置. 样式涵盖很多方面的内容.

包括但不限于, 大小, 位置, 颜色, 形状, 边距, 边框, 特殊滤镜, 过渡效果, 动画.......

以下是一些常用的CSS属性

字体属性

设置字体 font-family

指定当前使用哪种字体来显示.

这个属性指定的字体, 要求必须是系统已经安装了的. 如果要制定一些特殊的字体, 系统上没有, 则不能正常显示. 这种情况一般是需要通过浏览器请求对应的服务器, 获取到指定字体文件才能设置.

设置字体大小 font-size

设置字体粗细 font-weight

实际设置使用值的时候, 有两种典型的设置风格. 1. 使用单词; 2. 使用数字

值:

normal: 正常粗细. 与400等值.

bold: 加粗. 与700等值.

lighter: 比从父元素继承来的值更细 (处在字体可行的粗细值范围内)。

border: 比从父元素继承来的值更粗 (处在字体可行的粗细值范围内)。

number: 一个介于 1 和 1000 (包含) 之间的number类型值。更大的数值代表字体重量粗于更小的数值 (或一样粗)。

文字倾斜 font-style

2. 文本属性

文本颜色color

计算机使用RGB的方式表示颜色, RGB各分配一个字节, 每个字节的范围: 0-255 / 00-FF, 通过对三个分量的不同比例的搭配, 就可以调和出不同的颜色.

文本对齐 text-align

靠左 / 靠右 / 居中

文本装饰 text-decoration

  • underline 下划线. [常用]
  • none 啥都没有. 可以给 a 标签去掉下划线.
  • overline 上划线. [不常用]
  • line-through 删除线 [不常用]

文本缩进 text-indent

每个段落, 首行可缩进两个文字(2em)

px相当于是"绝对的量";

em是一个相对的量, 以文字尺寸为基础来进行设置.

注: 假设文字大小是40px.

1em=>40; 2em=>80; 0.5em=> 20

文本缩进的值可以是负数(往左缩进)

行高

行高 = 文字高度 + 行间距

3. 背景属性

背景颜色 background-color

背景图片background-image: url(图片路径);

当引入背景图片之后, 默认情况下, 图片是平铺的. 如果不想平铺图片, 使用background-repeat: none;

禁止平铺之后, 图片出现在左上角. 如果想让图片居中, 需要使用background-position: center center;

注: background-size: 设置背景图的尺寸

4. 圆角矩形

html元素默认都是一个个的矩形, 有时候需要表示"带有圆角"的矩形

border-radius: length;
length是内切圆的半径. 数值越大, 弧线越强烈.

3. 元素显示模式

display: block; 块级元素

display: inline; 行内元素

任何一块html标签的显示模式(块级/行内)都是可以设置的.

关于块级元素和行内元素的区别:

  1. 块级元素会独占一行. 行内元素不独占一行.
  2. 块级元素 高度, 宽度, 内外边距 都是可以设置的. 行内元素, 高度宽度行高都无效, 内边距有效, 外边距有时候有效有时候无效....
  3. 块级元素默认宽度是和父元素一样宽. 行内元素默认宽度是和里面内容一样宽.

4. CSS盒子模型

5. 弹性布局

弹性布局用于实现页面布局, 控制某个元素到指定位置上.

  1. 开启弹性布局 display: flex;
  2. 设置这些元素的水平方向的排列方式 justify-content: space-between;
  3. 设置这些元素的垂直方向的排列方式 align-items:
http://www.lryc.cn/news/2414596.html

相关文章:

  • uaa认证服务流程
  • 认识headers
  • 揭秘Android Tombstone:崩溃位置的秘密研究-Crash Location
  • 使用ShellExecute函数实现以管理员身份运行程序
  • 常用配置文件-ini文件
  • JAVA静态变量是什么
  • 最短路径算法汇总
  • Java 快速入门指南
  • PLSQL Developer(安装、连接、汉化、注册图文教程)
  • 创建ROS消息(msg)和服务(srv)
  • 当你在浏览器输入www.xxx.com的时候会发生什么?
  • TLE两行轨道根数
  • QFAV——快速免费拼装你的视频会议
  • ubuntu 安装中文输入法(超简靠谱版)
  • 带宽是什么?
  • Java数字格式类 NumberFormat | DecimalFormat
  • rides介绍和安装
  • java web报表,jasperReport使用简介
  • git 某个分支代码回滚到某次push的步骤
  • 什么是线程安全和非线程安全
  • Java04方法
  • SFR解析算法 - SFR_Calculation (C语言)
  • Fiddler 4 安卓APP抓包教程
  • 施密特正交化(Gram-Schmidt Orthogonalization)
  • Python学习之pandas模块duplicated函数的常见用法
  • Oracle创建新用户以及配置权限(个人使用版)
  • 你在浏览器输入了baidu.com 并按下回车后,背后到底发生了什么?
  • Cora 数据集介绍+ALL in One,Multi task graph prompt, ProG代码解释
  • WIFI渗透
  • XCP协议基础知识 - 协议层