HTML和CSS入门学习

目录

一.HTML

二.CSS

1.CSS作用:美化页面

2.CSS语法

【1】CSS语法规范

【2】如何插入样式表

3.CSS选择器

4.CSS设置样式属性--设置html各种标签的属性

【1】文本属性--设置整段文字的样式

【2】字体属性--设置单个字的样式

【3】链接属性--设置链接的样式

【4】列表属性--设置列表的样式

【5】表格属性--设置表格的样式

【6】背景属性--设置背景的颜色图片等属性

【7】表单属性--设置表单的样式

5.元素显示模式

【1】什么是元素显示模式

【2】块元素

【3】行内元素

【4】行内块元素

元素显示模式总结

元素显示模式转换

6.CSS盒子模型与基础布局

【1】盒子模型

(1)盒子模型介绍

(2)调节盒子模型的各种属性

【2】布局

【3】定位

【4】对齐

【5】其他

7.Flex布局


一.HTML

简单说就是页面由一个由一个的标签或者说组件组成,书写对应的标签游览器就会渲染出对应的元素。

读下面的文章就能入门了:
HTML标签大全 - 知乎​​​​​​

前端学习:表格学习,附练习+源码 - 知乎

前端学习之列表,附送全套源码 - 知乎

二.CSS

1.CSS作用:美化页面

学完HTML我们会发现做出来的标签不好看,需要修改style属性才能修改元素的属性进而美化标签美化标签。但是一般情况我们style属性的内容并不是写在html标签中,而是放在CSS中的。
由HTML专注去做结构呈现(虽然HTML也可以写样式),样式交给CSS,实现结构与样式分离。

2.CSS语法

【1】CSS语法规范

css设置属性的基本逻辑就是先通过选择器来选择对应的一个或多个标签,然后通过键值对来调节各个属性的参数,进而调节各个元素的样式。

格式简单说就是:选择器 {属性:值,属性:值,......}

具体语法:CSS Backgrounds(背景) | 菜鸟教程

【2】如何插入样式表

当读到一个样式表时,浏览器会根据它来格式化 HTML 文档。
那我们怎么插入样式表,让html读取到css呢?

插入样式表的方法有三种(我们一般情况下都选择第一种做到html和css分离!

  • 外部样式表(External style sheet)
  • 内部样式表(Internal style sheet)
  • 内联样式(Inline style)

具体教程:CSS 创建 | 菜鸟教程

3.CSS选择器

CSS选择器可以分成五类:
简单选择器(如标签选择器,id选择器,类选择器)
组合器选择器
伪类选择器
伪元素选择器
属性选择器

具体教程:CSS 选择器

4.CSS设置样式属性--设置html各种标签的属性

【1】文本属性--设置整段文字的样式

CSS Text(文本) | 菜鸟教程

【2】字体属性--设置单个字的样式

CSS Fonts(字体) | 菜鸟教程

【3】链接属性--设置链接的样式

CSS 链接(link) | 菜鸟教程

这里强调一个链接状态--可以根据链接所对应的状态(未访问过,已访问过,鼠标放在链接上,被点击的那一刻)改变链接的样式,有点类似于后面js的dom操作。

【4】列表属性--设置列表的样式

CSS 列表 | 菜鸟教程

【5】表格属性--设置表格的样式

CSS Table(表格) | 菜鸟教程

【6】背景属性--设置背景的颜色图片等属性

CSS Backgrounds(背景) | 菜鸟教程

【7】表单属性--设置表单的样式

CSS 表单 | 菜鸟教程

当然还有其他元素对应的属性

作者的感想:由上述属性可知,我们要设置样式,可以根据样式作用的元素,
查找到对应的样式属性加以设置。

5.元素显示模式

【1】什么是元素显示模式

【2】块元素

比较重要的特点就是独占一行,可以调节宽高。

【3】行内元素

比较重要的特点一行多个,高宽无效。

【4】行内块元素

比较重要的特点就是一行多个,可以调节宽高。

元素显示模式总结

元素显示模式转换

不少情况下,元素显示模式都需要进行转化。比如最常见的情况就是span和a这些行内元素标签,它们的大小往往不可以只是按内容大小来,往往都需要进行改变。这时候常常都需要将行内元素转化为行内块元素。

6.CSS盒子模型与基础布局

【1】盒子模型

(1)盒子模型介绍

所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

下面的图片说明了盒子模型(Box Model):

CSS box-model

不同部分的说明:

  • Margin(外边距) - 清除边框外的区域,外边距是透明的。
  • Border(边框) - 围绕在内边距和内容外的边框。
  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
  • Content(内容) - 盒子的内容,显示文本和图像。

还有一个轮廓:
轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。

(2)调节盒子模型的各种属性

盒子模型的每一部分都有相对应的属性和样式(比如大小什么的),从外之内:

外边距属性:CSS margin(外边距) | 菜鸟教程
轮廓属性:CSS 轮廓(outline)属性 | 菜鸟教程
边框属性:CSS Border(边框) | 菜鸟教程
内边距属性:CSS padding(填充) | 菜鸟教程
内容属性:CSS 尺寸 (Dimension) | 菜鸟教程

需要注意的是,如果没有规定内容的尺寸,内容的尺寸由里面的元素决定。

【2】布局

注:仅展示盒子模型的基础布局,flex等布局还未进行学习。

基础布局往往通过调节外边距和内边距来调节盒子的布局。

两个元素之间往往通过调节外边距来调节两个盒子之间的距离。而要调节一个盒子在另一个盒子中的位置,则通过改变父盒子的内边距来调节。

两个注意点

(1)外边距合并

不过要注意一下外边距何必问题,简单说就是两个外边距在一起的时候两个盒子的距离并不是两个外边距的和,而是两个外边距中的较大者。

26-外边距合并-嵌套块元素塌陷_哔哩哔哩_bilibili

(2)清除内外边距

【3】定位

具体教程:CSS Position(定位) | 菜鸟教程

【4】对齐

我们很多时候需要元素垂直和居中对齐,这样才能使得页面缩放的时候页面还能保持基本的样子不会往两边跑使得页面过于难看。具体的方法

一般通过调整盒子模型的外边距和内边距实现对齐。而块级元素和行内元素以及行内块元素居中的方式并不相同。

23-外边距典型应用-块级盒子水平居中对齐_哔哩哔哩_bilibili

24-行内元素和行内块元素水平居中_哔哩哔哩_bilibili

【5】其他

overflow属性--用于控制内容溢出元素框时显示的方式

CSS 布局 Overflow | 菜鸟教程

Float属性--会使元素向左或向右移动,其周围的元素也会重新排列。
Float(浮动),往往是用于图像,但它在布局时一样非常有用。

https://www.runoob.com/css/css-float.html​​​​​​

 Display(显示) 与 Visibility(可见性)--display属性设置一个元素应如何显示,visibility属性指定一个元素应可见还是隐藏。

CSS Display(显示) 与 Visibility(可见性) | 菜鸟教程

注:盒子布局有时候会因为字数的多少改变本省所处的位置

这种情况可以通过以下几种方式进行控制:

  1. 使用CSS的white-space属性,可以控制文本的换行方式。通过设置white-space: nowrap;,可以使文本不换行,而是水平滚动或溢出。
  2. 使用CSS的overflow属性,可以控制溢出文本的处理方式。通过设置overflow: hidden;overflow: scroll;,可以隐藏或滚动显示超出盒子宽度的文本。
  3. 使用CSS的text-overflow属性,可以在文本溢出时显示省略号。通过设置text-overflow: ellipsis;,可以在盒子宽度不足以显示全部文本时,用省略号表示被截断的部分。

7.Flex布局

代办

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全景房屋装修vr可视化编辑软件功能及特点

VR样板间、VR景观、VR商业街,全方位展示建筑内外空间使用及功能表現,让目标客戶能够身临其境体验項目的每处细节。 同时支持微信传播,线上看房,手机端VR沉浸式体验 3D互动售楼系统 3D互动售楼系统,集项目展示、智能选房…

ESP8266 WiFi模块快速入门指南

ESP8266是一种低成本、小巧而功能强大的WiFi模块,非常适合于物联网和嵌入式系统应用。本指南将为您提供关于ESP8266 WiFi模块的快速入门步骤和基本知识。 第一步:硬件准备 首先,您需要将ESP8266 WiFi模块与您的开发板连接。通常情况下&#…

【计算机网络基础实验】实验二 有线IP互通网络实践

任务一 IP路由协议实现企业路由器通信 目录如下: 任务一 IP路由协议实现企业路由器通信2.1.1 任务描述2.1.2 任务目的2.1.3 任务实施实验需求实验步骤步骤1:更改每台设备的名称步骤2: 给R1接口配置相应IP地址步骤3: 给R2接口配置相…

使用 Wireshark 抓包工具快速分析 IoT 物联网终端设备的网络通信行为

当你进行 IoT 物联网开发过程中,终端-MQTT 服务器-业务系统-App 全链路联调时往往难以快速定位问题:终端可能未正常发出消息报文,也可能在网络传输中丢失,也可能被 MQTT 服务器限流丢弃,或者业务系统处理异常而丢失。此…

Java9新增特性

特性列表 模块化系统:Java 9引入了模块化系统,将代码划分为模块,以更好地组织和管理代码。新的日期和时间API:Java 9引入了新的日期和时间API,使得处理日期和时间变得更简单、更强大。HTTP/2支持:Java 9引…

Vue3全局共享数据

目录 1,Vuex2,provide & inject2,global state4,Pinia5,对比 1,Vuex vue2 的官方状态管理器,vue3 也是可以用的,需要使用 4.x 版本。 相对于 vuex3.x,有两个重要变…

springboot中定时任务cron不生效,fixedRate指定间隔失效,只执行一次的问题

在调试计算任务的时候,手动重置任务为初始状态,但是并没有重新开始计算,检查定时任务代码: 从Scheduled(fixedRate 120000)可以看到,应该是间隔120秒执行一次该定时任务,查看后台日志,并没有重…

让深度神经网络绘画以了解它们是如何工作的

一、说明 深度学习如此有效,这真是一个谜。尽管有一些关于深度神经网络为何如此有效的线索,但事实是没有人完全确定,并且深度学习的理论理解是一个非常活跃的研究领域。 在本教程中,我们将以一种不寻常的方式触及问题的一个小方面…

Unity Mirror学习(一) SyncVars属性使用

官网中所说的网络对象,指的是挂了 NetworkIdentity组件的对象 官网中所说的玩家对象,指的是NetworkManager脚本上的PlayerPrefab预制体 这个概念对阅读官网文档很重要,我刚开始并不理解,走了歪路 SyncVars(同步变量&a…

如何在JVS低代码表单配置中实现数据的高效管理?

在数字化时代,表单已经成为企业、机构和个人收集、整理、分析数据的重要工具。然而,随着数据复杂性的增长,传统的单一表单往往难以满足需求。JVS低代码表单引擎中子表格允许在主表单中嵌套另一个子表数据,使得数据的收集和组织更加…

Android自定义 View惯性滚动效果(不使用Scroller)

效果图: 前言: 看了网上很多惯性滚动方案,都是通过Scroller 配合 computeScroll实现的,但在实际开发中可能有一些场景不合适,比如协调布局,内部子View有特别复杂的联动效果,需要通过偏移来配合…

Java Web 学习笔记(四) —— MyBatis

目录 1 MyBatis 概述2 MyBatis 快速入门3 Mapper 代理开发4 配置文件实现CRUD4.1 环境准备4.2 查询所有数据4.2.1 编写接口方法4.2.2 编写 SQL 语句4.2.3 编写测试方法4.2.4 结果映射问题 4.3 查询详情4.3.1 编写接口方法4.3.2 编写SQL语句4.3.3 编写测试方法 4.4 多条件查询4.…

PHP+MySQL人才招聘小程序系统源码 带完整前端+后端搭建教程

在当今竞争激烈的人才市场中,招聘平台的需求日益增长。传统的招聘平台往往需要投入大量的人力物力进行维护和管理,这对于许多中小企业来说是一个沉重的负担。因此,开发一个简单易用、高效便捷的招聘平台显得尤为重要。 PHP是一种流行的服务器…

计算机底层的秘密 摘抄笔记

https://www.bookstack.cn/read/webxiaohua-gitbook/README.md 大部分是摘抄 机器指令需要加载到内存中执行,因此需要记录下内存的起始地址和长度;同时要找到函数的入口地址并写到PC寄存器中,想一想这是不是需要一个数据结构来记录下这些信…

与创新者同行,Apache Doris in 2023

在刚刚过去的 Doris Summit Asia 2023 峰会上,Apache Doris PMC 成员、飞轮科技技术副总裁衣国垒带来了“与创新者同行”的主题演讲,回顾了 Apache Doris 在过去一年所取得的技术突破与社区发展,重新思考了在面对海量数据实时分析上的挑战与机…

红队系列-IOT安全深入浅出

红队专题 设备安全概述物联网设备层次模型设备通信模型 渗透测试信息收集工具 实战分析漏洞切入点D-link 850L 未授权访问 2017 认证绕过认证绕过 D-link DCS-2530Ltenda 系列 路由器 前台未授权RTSP 服务未授权 访问 弱口令命令注入思科 路由器 固件二进制 漏洞 IoT漏洞-D-Lin…

19.13 Boost Asio 发送TCP流数据

Boost框架中默认就提供了针对TCP流传输的支持,该功能可以用来进行基于文本协议的通信,也可以用来实现自定义的协议。一般tcp::iostream会阻塞当前线程,直到IO操作完成。 首先来看服务端代码,如下所示在代码中首先通过GetFileSize…

使用Net2FTP轻松打造免费的Web文件管理器并公网远程访问

文章目录 1.前言2. Net2FTP网站搭建2.1. Net2FTP下载和安装2.2. Net2FTP网页测试 3. cpolar内网穿透3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 文件传输可以说是互联网最主要的应用之一,特别是智能设备的大面积使用,无论是个人…

Java安全架构 JCA、JCE、JSSE、JAAS

Java语言拥有三大特征:平台无关性、网络移动性和安全性,而Java安全体系结构对这三大特征提供了强大的支持和保证, Java安全体系结构总共分为4个部分: (1)JCA( Java Cryptography Architecture…

Go defer简介

思考 开始之前,先考虑下下面的代码的执行结果: package mainimport "fmt"func test() int {i : 0defer func() {fmt.Println("defer1")}()defer func() {i 1fmt.Println("defer2")}()return i }func main() {fmt.Print…