【干货】一文详解html和css,前端开发需要哪些技术?
zhezhongyun 2025-01-21 23:03 36 浏览
网站开发简介
- 网站开发包括前端和后端,后端是服务器,用来存储数据和设计业务逻辑,前端用来展示网站效果。
- 网站是多个网页的集合,网页是纯文本格式的文件,浏览器就是将这些纯文本格式的文件渲染成网页。
HTML简介
HTML是超文本标记语言(HyperText Markup Language),是一种用于创建网页的标准标记语言,HTML由一个个标签组成,文件的后缀名是html或htm,一个html文件就是一个网页,html文件用编辑器打开就显示文本,用浏览器打开就会渲染成网页。
HTML基本结构:
- <!DOCTYPE html> 声明为 HTML5 文档
- <html></html>是文档的开始标记和结束标记。此元素告诉浏览器其自身是一个 HTML 文档
- <head></head>元素出现在文档的开头部分
- <title></title>定义网页标题,在浏览器标题栏显示<body></body>之间的文本是可见的网页主体内容
<!DOCTYPE html>
<html>
<head>
<title>黑猫编程</title>
</head>
<body>
网页显示内容
</body>
</html>
前端开发需要哪些技术?
- 首先是UI设计师使用Photoshop设计出前端效果图片,前端工程师根据图片转化成前端代码,主要需要HTML、CSS和JavaScript。
- HTML是前端的框架,比如划分页面布局、设置段落。
- CSS是装饰前端框架,可以给页面添加颜色、样式等,使前端界面更加漂亮。
- JavaScript是给前端添加动态效果,使网站具备交互功能。
前端开发编辑器
前端开发语言本质上都是文本文件,只要后缀名符合标准,任何文本编辑器都可以用来写前端代码,在此推荐几种编辑器:
IDE——集成开发环境:
- WebStorm
- PyCharm
轻量级文本编辑器:
- Atom
- Sublime
- Notepad++
- Vim和Emacs
- VS Code
VS Code开发前端项目比较方便,推荐安装插件:
- Auto Rename Tag
- Live Server
标签分类
分类一:
- 闭合标签——双标签 <标签名 属性1=“属性值1” 属性2=“属性值2”……>内容部分</标签名>
- 自闭合标签——单标签 <标签名 属性1=“属性值1” 属性2=“属性值2”…… />
分类二:
- 块级标签:独占一行,可自行设置宽高div
- 内联标签:按内容占位,高度和宽度由内容填充span
<meta>标签
所有浏览器都支持 <meta> 标签:
- <meta>提供有关页面的元信息(meta-information),针对搜索引擎和更新频度的描述和关键词
- <meta>提供的信息对用户是不可见的
- SEO三大标签:titledescription:<meta name="description" content="专注编程课程研发,算法,信奥赛">keywords:<meta name="keywords" content="编程 在线课程 算法竞赛">
- 网站logo:<link rel="shortcut icon" href="cat.ico" type="image/x-icon">
图像标签
<img>标签可以在网页上插入一张图片,它是独立使用的标签,它的常用属性有:
- src属性,定义图片的引用地址
- alt属性 定义图片加载失败时显示的文字
- 只设置图片宽度或者高度,会进行等比缩放
- <img src="xxx.png" alt="xxx" />
标题标签
通过<h1>、<h2>、<h3>、<h4>、<h5>、<h6>,标签可以在网页上定义6种级别的标题。6种级别的标题表示文档的6级目录层级关系,比如说: <h1>用作主标题,其后是<h2>,再其次是 <h3>,以此类推。搜索引擎会使用标题将网页的结构和内容编制索引。
- <h1>标题1</h1>
- <h2>标题2</h2>
span和div
- <div>定义文档中的分区,当作容器使用
- <span>划分文字
思考:完成如下图所示效果
为七个div分别设置宽为100px,150px,200px,250px,300px,350px,400px;
高均为20px;
背景颜色分别为红橙黄绿青蓝紫
<div style="width:100px;height:20px;background-color:red"></div>
<div style="width:150px;height:20px;background-color:orange"></div>
<div style="width:200px;height:20px;background-color:yellow"></div>
<div style="width:250px;height:20px;background-color:green"></div>
<div style="width:300px;height:20px;background-color:cyan"></div>
<div style="width:350px;height:20px;background-color:blue"></div>
<div style="width:400px;height:20px;background-color:purple"></div>
<!--添加两个div进行嵌套-->
<div style="width: 100px; height: 100px; background-color: pink">
<div style="width: 50px; height: 50px; background-color: yellow"></div>
</div>
CSS样式
css:Cascading Style Sheet 层叠样式表,它是用来美化页面的一种语言。
- 没有使用css的效果图
- 使用css的效果图
CSS引入三种方式
- 行内式:是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,使得代码看起来整体格式混乱,不推荐使用。
<div style="background-color:black; color:red">hello world</div>
- 内嵌式:是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中
<style>
div {
background-color:yellow;
color:green;
}
</style>
- 外链式:将css代码写在一个单独的.css文件中,在<head>标签中使用<link>标签直接引入该文件到页面中
<link rel="stylesheet" type="text/css" href="css/index.css"/>
- 在加载网页时,首先找到html根文件,再加载引用的css外部样式,速度会比较慢,因此,内嵌式一般用于网站的首页,有利于提高页面加载速度,提高用户体验。
常用CSS选择器
css 选择器是用来选择标签的,选出来以后给标签加样式
- 标签选择器 p { color:green }
- 类选择器
.a {
font-weight:bold;
color:yellow;
}
<p class="a">a1 class</p>
<p class="a">a2 class</p>
<p class="b">b2 class</p>
<p class="b">b2 class</p>
- id选择器
#info {
font-size:24px;
color:red;
}
<div>hello world</div>
<div id="info">My name is xuyanpeng.</div>
- 优先级:id>class>标签
- 结构伪类选择器
nth-child:
nth-child(odd)
nth-child(even)
nth-child(3n+1)
nth-child(3)
nth-last-child(3)
nth-child(-n+3)
nth-child(n+5)
last-child
first-child
伪元素
- ::before
.father::before{
display: block;
content: '最前面';
width: 100px;
height:100px;
background-color: brown;
}
- ::after
.father::after{
display: block;
content: '最后面';
width: 100px;
height:100px;
background-color: yellow;
}
超链接
- HTML使用标签<a>来设置超文本链接
- 超链接可以是一个字,一个词,或者一组词,也可以是一幅图像,可以点击这些内容来跳转到新的文档或者当前文档中的某个部分
- 当把鼠标指针移动到网页中的某个链接上时,箭头会变为一只小手
- 在标签<a> 中使用了href属性来描述链接的地址
- 默认情况下,链接将以以下形式出现在浏览器中:
一个未访问过的链接显示为蓝色字体并带有下划线
访问过的链接显示为紫色并带有下划线
点击链接时,链接显示为红色并带有下划线
- 伪类选择器
a:link{
text-decoration: none;
}
a:visited{
color: red;
}
a:hover{
color: orange;
}
a:active{
color: green;
}
锚点定位
通过创建锚点链接,用户能够快速定位到目标内容。创建锚点链接分为两步:
文本标签
注释标签:如果需要在HTML文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签。
简单解释:注释内容不会显示在浏览器窗口中,但是作为HTML文档内容的一部分,也会被下载到用户的计算机上,查看源代码时就可以看到。
<!-- 注释语句 -->
文本属性
font-size:文本大小
font-family:字体
无衬线字体:sans-serif
衬线字体:serif
等宽字体:monospace
font-weight:字体粗细 100-900
normal:400
bold:700
font-style:字体风格 normal italic
pre:预格式化文本
color:文本颜色
text-align:文本水平对齐方式
line-height:行间距
text-indent:首行缩进
特殊字符
背景属性
背景颜色:
background-color:颜色值; 默认的值是 transparent 透明的
background: rgba(0, 0, 0, 0.3); 最后一个参数为透明度
背景平铺:pbackground-repeat : repeat | no-repeat | repeat-x | repeat-y
背景固定:pbackground-attachment : scroll | fixed
背景位置:
background-position : x y:
x和y:为长度值或top、left等方位词
background-size:contain/cover
盒子模型
边框盒子:
自动内减:box-sizing: border-box;
默认:box-sizing: content-box;
margin合并:相邻盒子边距取较大值
margin塌陷:块级元素嵌套,字盒子设置外边距改变父盒子的位置
浮动应用,首页布局
<!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>
<style>
.container{
width: 700px;
border: 1px solid gray;
margin: 0 auto;
background-color: lightyellow;
}
.header{
text-align: center;
background-color: skyblue;
padding: 8px;
color: white
}
.left{
width: 160px;
float: left;
padding: 23px;
}
.content{
padding: 16px;
margin-left: 190px;
border-left: 1px solid gray;
}
.footer{
padding: 8px;
color: white;
background-color: red;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>backcat1995.com</h1>
</div>
<div class="left">
<p>黑猫编程教育品牌</p>
<p>作者:黑猫</p>
</div>
<div class="content">
<h2>课程大纲</h2>
C++从入门到精通
<br>
玩转数据结构与算法
<br>
Python从小白到起飞
</div>
<div class="footer">
地址:火星岩浆路1198弄
</div>
</div>
</body>
</html>
元素隐藏
overflow:
- visible:默认值,溢出部分可见
- hidden:溢出部分隐藏
- scroll:无论是否溢出,都显示滚动条
- auto:根据是否溢出,自动显示或隐藏滚动条
绝对单位和相对单位
1.绝对单位,当窗口大小发生改变,不能自适应窗口进行改变
<style>
*{margin: 0; padding: 0;}
.box{
width: 500px;
height: 500px;
background-color: red;
}
</style>
<div class="box"></div>
2.相对单位
<style>
*{margin: 0; padding: 0;}
.box{
width: 50%;
height: 50%;
background-color: red;
}
body, html{
height: 100%;
}
.box2{
width: 50%;
height: 50%;
background-color: green;
}
</style>
<div class="box">
<div class="box2">
</div>
</div>
风筝效果
<style>
*{margin: 0; padding: 0;}
.box{
width: 200px; height: 200px; background-color: red;
position: absolute; left: 50%; top: 50%;
margin-left: -100px; margin-top: -100px;
}
.box div{
width: 50%; height: 50%; background-color: black;
position: absolute; left: 100%; top: 100%;
}
</style>
<div class="box">
<div>
<div>
<div></div>
</div>
</div>
</div>
列表标签
- 无序列表标签(ul标签)
- 有序列表标签(ol标签)
表格标签
- <table>标签:表示一个表格
- <tr>标签:表示表格中的一行
- <td>标签:表示表格中的列
- <th>标签:表示表格中的表头
表单标签
表单用于搜集不同类型的用户输入(用户输入的数据),然后可以把用户数据提交到web服务器。
表单属性设置:
- action: 是设置表单数据提交地址
- method: 是表单提交方式,提交方式有GET和POST
- 表单元素属性设置
- name: 表单元素的名称,用于作为提交表单数据时的参数名
- value: 表单元素的值,用于作为提交表单数据时参数名所对应的值
响应式布局Bootstrap
响应式最主要特点就是针对不同宽度设备进行布局和样式设置,从而适配不同大小设备。
栅格系统:
显示和隐藏:
相关推荐
- JavaScript中常用数据类型,你知道几个?
-
本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!作者|慕课网精英讲师Lison这篇文章我们了解一下JavaScript中现有的八个数据类型,当然这并不是JavaScr...
- 踩坑:前端的z-index 之bug一二(zh1es前端)
-
IE6下浮动元素bug给IE6下的一个div设置元素样式,无论z-index设置多高都不起作用。这种情况发生的条件有三个:1.父标签position属性为relative;2.问题标签无posi...
- 两栏布局、左边定宽200px、右边自适应如何实现?
-
一、两栏布局(左定宽,右自动)1.float+margin即固定宽度元素设置float属性为left,自适应元素设置margin属性,margin-left应>=定宽元素宽度。举例:HTM...
- 前端代码需要这样优化才是一个标准的网站
-
网站由前端和后端组成,前端呈现给用户。本文将告诉您前端页面代码的优化,当然仍然是基于seo优化的。 就前端而言,如果做伪静态处理,基本上是普通的html代码,正常情况下,这些页面内容是通过页面模...
- 网页设计如何自学(初学网页设计)
-
1在Dreamweaver中搭建不同的页面,需要掌握HTML的语句了,通过调整各项数值就可以制作出排版漂亮的页面,跟着就可以学习一些可视化设计软件。下面介绍网页设计如何自学,希望可以帮助到各位。Dre...
- 1、数值类型(数值类型有)
-
1.1数据类型概览MySQL的数据类型可划分为三大类别:数值类型:旨在存储数字(涵盖整型、浮点型、DECIMAL等)。字符串类型:主要用于存储文本(诸如CHAR、VARCHAR之类)。日期/...
- 网页设计的布局属性(网页设计的布局属性是什么)
-
布局属性是网站设计中必不可少的一个重要的环节,主要用来设置网页的元素的布局,主要有以下属性。1、float:该属性设置元素的浮动方式,可以取none,left和right等3个值,分别表示不浮动,浮在...
- Grid网格布局一种更灵活、更强大的二维布局模型!
-
当涉及到网页布局时,display:flex;和display:grid;是两个常用的CSS属性,它们都允许创建不同类型的布局,但有着不同的用法和适用场景。使用flex布局的痛点当我们使...
- React 项目实践——创建一个聊天机器人
-
作者:FredrikStrandOseberg转发链接:https://www.freecodecamp.org/news/how-to-build-a-chatbot-with-react/前言...
- 有趣的 CSS 数学函数(css公式)
-
前言之前一直在玩three.js,接触了很多数学函数,用它们创造过很多特效。于是我思考:能否在CSS中也用上这些数学函数,但发现CSS目前还没有,据说以后的新规范会纳入,估计也要等很久。然...
- web开发之-前端css(5)(css前端设计)
-
显示控制一个元素的显示方式,我们可以使用display:block;display:inline-block;display:none;其中布局相关的还有两个很重要的属性:display:flex;和...
- 2024最新升级–前端内功修炼 5大主流布局系统进阶(分享)
-
获课:keyouit.xyz/14642/1.前端布局的重要性及发展历程前端布局是网页设计和开发的核心技能之一,它决定了页面元素如何组织和呈现。从早期的静态布局到现代的响应式布局,前端布局技术经历了...
- 教你轻松制作自动换行的CSS布局,轻松应对不同设备!
-
在网页设计中,自动换行的CSS布局是非常常见的需求,特别是在响应式设计中。它可以让网页内容自动适应不同屏幕尺寸,保证用户在不同设备上都能够获得良好的浏览体验。本文将介绍几种制作自动换行的CSS布局的方...
- 晨光微语!一道 CSS 面试题,伴你静享知识治愈时光
-
当第一缕阳光温柔地爬上窗台,窗外的鸟鸣声清脆悦耳,空气中弥漫着清新的气息。在这宁静美好的清晨与上午时光,泡一杯热气腾腾的咖啡,找一个舒适的角落坐下。前端的小伙伴们,先把工作的疲惫和面试的焦虑放在一边,...
- 2023 年的响应式设计指南(什么是响应式设计优缺点)
-
大家好,我是Echa。如今,当大家考虑构建流畅的布局时,没有再写固定宽度和高度数值了。相反,小编今天构建的布局需要适用于几乎任何尺寸的设备。是不是不可思议,小编仍然看到网站遵循自适应设计模式,其中它有...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML常用标签 (29)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- CSS 水平对齐 (Horizontal Align) (30)