HTML、CSS

Web前端基础

应用程序分类

客户端/服务器

Client/Server  C/S模式

用户需要下载客户端才能使用,如微信 qq 游戏等

特点:功能丰富,安装繁琐,需要更新,开发成本高

浏览器/服务器

Browser/Server  B/S模式

用户只需浏览器就可以使用,如网页qq、商业网站等

特点:功能较为丰富,无需安装软件,只需一个浏览器,无需更新,平台无关,开发时只需设计一套页面

B/S模式下,用户访问便捷,无需安装多余软件,企业开发文本低

所有B/S模式是Java主要开发模式,一个web项目,需要浏览器、服务器、数据库

用户通过浏览器访问服务器上的某个地址或页面,将数据传递到后端,在将数据提交到数据库进行访问和维护

整个系统中,页面部分起着承接的作用,可以用于收集用户数据和呈现服务端的内容

程序员既要开发服务端的内容,也要掌握如何将数据渲染在页面,如何通过页面获取用户数据

学习web基础,就是学习如何编写页面,如何通过浏览器呈现数据

web前端基础学习路线

HTML-->CSS-->JJavaScript-->Jquery

HTML

Hyper Text Markup Languge  超文本标记语言

超文本

可以理解为超级文本:超越了文本的限制,如图片、音频、视频等

也可以理解为超链接文本:通过某个链接可以访问互联网中的任意地址

标记

可以称为标签,用<>括起来的特定的单词,

标签可以分为单标签和双标签

单标签:<mete /> 双标签:<body 属性名=''属性值''><body/>

标签中可以加入属性,双标签中可以继续嵌套标签

用HTML标签写的文件保存为.HTML文件,称为页面文件

标签中的属性

在标签中,通过加入 属性名="属性值",就可以让某个标签拥有指定的特征

<!-- HTML中的注释 -->
<!-- DOC文档TYPE类型  说明当前页面的文档类型 -->
<!DOCTYPE html>
<html>
	<head>
		<!-- meat元  设置页面的属性 charset 就是一个属性,utf-8是属性值  -->
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
    src就是属性  
    <img src="图片路径">
	</body>
</html>

浏览器

浏览器是用于运行HTML页面的平台

用HTML语言写出来的网页文件,需要浏览器对其解释渲染

浏览器与HTML文件的关系类似于jvm与Java文件的关系

常用浏览器

Chrome 谷歌浏览器

edge Windows自带的浏览器

Firefox 火狐浏览器

Safari iOS平台自带浏览器

页面的基本组成结构

<!-- HTML中的注释 -->
<!-- DOC文档TYPE类型  说明当前页面的文档类型 -->
<!DOCTYPE html>
<html>
	<head>
		<!-- meat元  设置页面的属性 charset 字符集  -->
		<meta charset="utf-8">
		<title>页面标题</title>
	</head>
	<body>
        页面主体内容
	</body>
</html>

html中表示颜色的方式

颜色的单词

red、green、blue、pink、gold、gray、orange、brown、purple、skybiue。。。

颜色的十进制rgb

rgb表示红蓝绿,每个颜色通过0-255范围内的数字表示其颜色的深浅

RGB(0,0,0) 黑色

RGB(255,255,255) 白色

RGB(255,0,0) 红色

RGB(255,0,255) 紫色

颜色的十六进制RGB

#000000 黑色

#FF0000 红色,可以简写为#F00

#00FF00 绿色

#00FFFF 青色

常用标签

页面中的标签,也称为页面中的元素或节点,所有的元素可以分为两大类

标签的类型

块级元素

如果一个标签占满整行,称这个标签为块级元素

行内元素

如果一个标签占一行中的一部分,称这个标签为行内元素

单标签

常用单标签作用类型
<input />表单元素主要以行内元素为主

<img src="图片路径" alt="替换图片的文字" title="鼠标悬停时提示文件" width="图片宽度"

height="图片高度"/>

图片行内元素
<br />换行块级元素
<hr />水平线块级元素

双标签

文字

常用标签作用类型
<h1></h1>~<h6></h6>一级标题~六级标题,文字加粗,一级标题最大块级元素
<p></p>段落块级元素
<span></span>行内标签行内元素
<sup></sup>文字上标行内元素
<sub></sub>文字下标行内元素
<i></i>倾斜行内元素
<b></b>加粗行内元素
<u></u>下划线行内元素
<font color=" "  size=" "></font>已过时,字体

图片

<img>单标签,行内元素

<img src="图片路径" alt="无法显示图片时的文字" title="鼠标悬停时的文字" width="宽度" height="高度">

图片路径可以使用相对路径或绝对路径

  • 绝对路径:文件在计算机中的完整路径
  • 相对路径:从当前页出发,找到图片所在位置
    • 使用"../"跳出当前目录
    • 使用"xxx/"进入xxx目录

列表ul/ol/li

双标签,都是块级元素,li写在ul和ol标签中

无序列表ul

默认每个li前用实心圆修饰,通过type修改属性

square 正方形

dist 默认实心圆

cirele 空心圆

none 去掉修饰

有序列表ol

默认每个li前用数字修饰,通过type属性修改

a/A

i/I

1

<!-- 无序列表 -->
		<ul type="none">
			<li>列表中的一项</li>
			<li>列表中的一项</li>
			<li>列表中的一项</li>
		</ul>
		<!-- 有序列表 -->
		<ol type="a">
			<li>列表中的一项</li>
			<li>列表中的一项</li>
			<li>列表中的一项</li>
		</ol>

表格table

双标签,table是块级元素,tr、th、td是行内元素

表格相关标签作用
tbale定义一个表格
tr表格中的行
td一行中的单元格
th特殊的td,文字加粗局中,使用th实现表头
绘制3行3列的表格
<table border="1" width="400">
			<tr>
				<th>第一列</th>
				<th>第二列</th>
				<th>第三列</th>
			</tr>
		    <tr>
		        <td>1,1</td>
				<td>1,2</td>
				<td>1,3</td>
			<tr>
			<tr>
				<td>1,1</td>
				<td>1,2</td>
				<td>1,3</td>
			<tr>
			<tr>
				<td>1,1</td>
				<td>1,2</td>
				<td>1,3</td>
			<tr>
		<table>

合并行rowspan="n"

给td添加该属性,表示n行合1行

合并列colspan="n"

给td添加该属性,表示n列合1列

<table border="1" width="400">
			<tr>
				<td rowspan=""></td>
				<th>星期一</th>
				<th>星期二</th>
				<th>星期三</th>
				<th>星期四</th>
				<th>星期五</th>
			</tr>
		    <tr>
				<td rowspan="2">上午</td>
		        <td>语文</td>
				<td>数学</td>
				<td>科学</td>
				<td>数学</td>
				<td>语文</td>
			</tr>
			<tr>
			    <td>语文</td>
				<td>数学</td>
				<td>语文</td>
				<td>数学</td>
				<td>语文</td>
			</tr>
			<tr>
				<th colspan="5">午休</th>
			</tr>
			<tr>
				<td rowspan="2">下午</td>
				<td>数学</td>
				<td>科学</td>
				<td>语文</td>
				<td>数学</td>
				<td>语文</td>
			</tr>
			<tr>
				<td>数学</td>
				<td>科学</td>
				<td>语文</td>
				<td>数学</td>
				<td>语文</td>
			</tr>
		<table>

a标签

<a>显示文字</a> 行内元素

核心属性
href访问某个链接,如果要访问锚点,#开头
target_self默认自身页面访问,_blank空白页面访问,_parent:父页面访问,某个iframe的name:在指定的iframe中访问
name定义锚点

超链接

<!-- 超链接 -->
        <!-- 访问某个域名 -->
        <a href="http://baidu.com">跳转到百度</a>
        <!-- 访问项目中的页面 -->
        <a href="列表与表格.html">跳转到指定页面</a>
        <!-- 访问资源 -->
        <a href="../imgs/01.webp">跳转到指定页面</a>

 锚点

1.设置锚点

<a name="锚点"></a>

 2.访问锚点

<a href="#锚点名">访问锚点</a>

浮动框架iframe

在页面中嵌入一个页面。

<a target="某个iframe的名称" href="某个路径">访问</a>

<iframe width="100%" height="600px" name="该iframe的名称"></iframe>

marquee标签 

<!--scrollamount移动速度-->
<!--direction方向 left right up down-->
<!--behavior行为 alternate往复移动  scoll重复滚动  slide滑到顶端-->
<marquee scrollamount="10" direction="right" behavior="scoll">
    一段文字
</marquee>

多媒体 

音频

公用属性:

controls:显示控制器

muted:静音

autoplay:自动播放  chrome浏览器视频需要添加muted属性后才能使用autoplay

loop:循环

<audio controls autoplay loop>
			<source src="../歌曲/楚念辞 - 不会有时差 (夏鸣星.mp3"/>
		</audio>

视频

<audio controls autoplay loop>
			<source src="视频文件路径"/>
		</audio>

表单与表单元素

表单from

双标签,块级元素,用于接受用户输入的数据

<form action="表单提交路径" method="表单提交方式">
    
</form>
核心属性作用
action某个页面或某个控制器的路径将表单中的数据提交到指定路径
methodpost/get默认为get,提交的数据会暴露在地址栏中,数据长度有限制。post不会出现这些情况

 表单元素

常用表单元素说明
input单标签,行内元素,通过改变type属性值,变化为不同的表单元素
select双标签,行内元素,下拉框
option双标签,select的子标签,下拉菜单中的选项,value属性表示该选项的值,如果不设置,value值默认为option标签中的文本
textarea双标签  行内元素  文本域

input标签的type值作用
text文本框
password密码框
radio单选按钮
checkbox复选框
date日历
number数字选择
file提交文件
hidden隐藏域
button普通按钮
reset重置按钮
submit提交按钮
表单元素的属性作用
name用于提交表单时设置提交的参数名
vlaue用于输入框的默认值或单选复选按钮的默认值
required用于输入框或按钮设置为必填项或必选项
placehoder用于输入框的默认提示文字
checked用于单选按钮和复选框默认选中
selected用于下拉菜单默认选中
readonly只读
disabled让某个元素失效
min/max/stopnumber独有,设置最小/最大/步长
rows/colstextarea独有,设置行数/列数

css

cascading style sheets 层叠样式表

用于控制HTML中标签样式的语言

可以精确到像素,用于美化HTML标签

css语法

样式名:样式值;

选择器

用于选中页面中元素(标签)的工具

ID选择器

1.给某个标签添加id的属性,对其命名

2.通过#id名获取

通常用于获取某一个元素,id名称不要冲突

<html>
    <head>
        <style>
            #mydiv{
                width:200px;
                height:200px;
            }
        </style>
    </head>
    <body>
        <div id="mydiv"></div>
    </body>
 </html>

 类选择器

1.给某些标签添加class属性

2.通过.class命名

 元素选择器/HTML选择器/标签选择器

直接通过标签名获取元素,获取所有对应标签

<html>
    <head>
        <style>
            li{
                width:200px;
                height:200px;
            }
        </style>
    </head>
<body>
 <ul>
     <li></li>
     <li></li>
     <li></li>
     <li></li>
 </ul>
 </body>
 </html>

后代选择器

群主选择器

css写在那里

写在某个标签的style属性中

<div style="样式名:值">

</div>

写在head标签下的style标签中 

<html>
     <head>
         <style>
            选择器{
            样式:值;
            样式:值;
             }
         </style>
     </head>
 </html>

 选择器的优先级

内嵌在style标签>id选择器>.class选择器>标签选择器

在选择某个元素时,尽量将其层次关系写清楚

写在一个独立的css文件中

1.新建一个.css文件,在其中编写css样式

*{

        margin:0;

        padding:0;

}

 2.在页面中通过link标签引入

<head>
<link >
</head>

常用样式 

 尺寸

只有块级元素才能设置尺寸

如果要对某个行内元素设置尺寸,需要先将其转换为块级元素

相关样式名举例
widthpx/百分比/vwwidth:100px/50%/30vw;
heightpx/百分比/vwheight:100px/50%/30vw;

背景background

样式名作用
background-color背景色颜色的单词,十进制rgb
background-image背景色url(图片路径)
background-size背景图片尺寸

cover覆盖。百分比

cover会完全将区域覆盖,100%会完整显示图片

background-position背景图片位置10px表示同时向下和向右移动10px
background-repeat背景图片是否重复

默认不重复

no-repeat不重复

repeat-x表示x轴重复

repeat-y表示y轴重复

background attachment背景图片固 定fixed表示将背景图片固定,不随滚动条滚动
background背景样式简 写可以同时设置以上多个参数,如 background:#f00 url(图片地址) no-repeat center 表示图片能加载则显示图片,不能加载显示背景色,背景 图不重复,居中显示

背景渐变

background: linear-gradient(to 方向, 颜色1, 颜色2,颜色3...)

方向:left  right   top  bottom

background: linear-gradient(to right, #fdeff9, #ec38bc)

边框border 

边框会套在元素外层,元素原本大小不变,最终说占页面区域大小为元素大小+边框宽度

边框相关样式作用
border-style边框线条样式solid、double、dashed、dotted
border-width边框宽度px
border-color边框颜色颜色的三种写法
border同时设置所有边框线条、宽度和颜色border:1px solid red
border-方向-样式某方向的style或width或color,方向为left、right、top、bottonbreder-left-color:red
border-方向同时设置某边框线条、宽度和颜色border-top:1px dotted blue;
border-上下方向-左右方向-radius设置某个方向的边框为圆角
border-radius同时设置四个角为圆角,如果正方形,值为边长的一半,则为圆形
outline轮廓,input文本框默认获得焦点时,会显示一个轮廓,通常设置为none去掉轮廓
border-collapse合并相邻边框,通常用于合并表格中的td的边框表格{border-collapse:collapse}

字体

样式名作用
font-size字体大小像素,默认16px,最小12px
font-family字体字形默认微软雅黑
font-weight字体粗细lighter细,bolder粗

文本

样式名作用
color文本颜色颜色的三种写法
text-decoration文本修饰

underline下划线,line-through删除线,overline上划线

通常给页面中的所有a标签设置text-decoration:none去掉a标签默认的下划线

text-align文本对其方式默认left左对齐,right右对齐,center居中
line-height行高设置为与文字相同大小时,行间距为0,垂直居中时,将行高设置为容器高度
text-indent首行缩进根据文字大小设置缩进的像素,如默认文字16px,首行缩进2个字符,则设置为32px
text-shadow文本阴影颜色 水平位置 垂直位置 模糊程度,如#000 4px 5px 3px表示水平
letter-spacing字符间距像素
word-break英文换行方式默认break-word以单词为单位换行,不会拆分单词。 break-all以字母为单位换行,会拆分单词。

 列表

样式名作用
list-style-type设置列表li前的标记通常设置为none去掉标记
list-style-image设置列表li前的标记为图片URL(图片地址)
list-style-position设置列表li前的标记的位置默认outside,标记位于li之外;inside表示标记位 于li之中

鼠标样式

效果
pointer鼠标呈现为指示链接的指针(手)
move鼠标呈现为某对象可移动的状态(十字箭头)
help鼠标呈现为带问号的箭头
progress鼠标呈现为带载入的箭头
crosshair十字线
text光标
wait载入状态  

伪类

用来表示某个元素的某种状态

用于对某些元素在不同的状态下呈现不同的效果

如a标签有访问前、悬停时、按下时、访问后对应的四个伪类

a标签的伪类作用
a:link未访问时
a:hover鼠标悬停
a:active鼠标按下
a:visite访问后

:hover可以使用与很多标签,如#xx:hover,表示鼠标悬停在id为xx的元素上时

追加内容通过cintext属性编辑追加的内容,同时可以设置其他样式

在某个元素的之前或之后插入内容说明

:after

之后
:before之后
<!DOCTYPE html>
 <html>
 <head>
 <style>
 p:after
 {
 content:"追加的内容";
 color:red;
 xx:xx;
 }
 </style>
 </head>
<body>
 <p>My name is Donald</p>
 <p>I live in Ducksburg</p>
 </body>
 </html>

 显示方式display

控制元素为块级元素或行内元素或行内块

作用
block将元素设置为块级元素,这样元素就能独占一行,能设置尺寸
inline将元素设置为行内元素,这样元素就能独占一行,不能
inline-block将元素设置为行内块,
none将元素不显示  不保留元素位置

浮动float

让某个元素脱离原本的位置,朝某个方向对其

作用
left向左
right向右
none清除

 float:left和display:inline-block的区别

相同点:都能让多个块级元素称为行内块。

display:inline-block

多个元素最终位于同一行内,可以设置尺寸,元素一下线对其,保留该行位置,保留元素间的缝隙,后续元素为新的一行

 float:left

多个元素最终位于同一行内,可以设置尺寸,元素以上线对其,不保留改行位置,不保留元素间的缝隙,后续元素会紧邻

盒子模型

页面中的所有块级元素,都是一个盒子,每个盒子由元素自身、内边距padding、边框border、外边距marjin组成

边框border:元素外圈的一圈

内边距padding:边框与自身之间的距离

外边距marjing:元素a的边框与元素b的边框之间的距离

盒子模型相关样式作用
padding内边距。1个参数表示同时设置4个方向。2个参数表示上下 左右。3个参数表示上 左 右 下。4个参数表示上 右 下 左顺时针。
margin外边距。1个参数表示同时设置4个方向。2个参数表示上下 左右。3个参数表示上 左 右下。4个参数表示上 右 下 左顺时针。如果值设置为auto,表示自动将所在的容器 剩余距离除以2。
padding-方向某个方向的内边距,方向可以是left、right、top、bottom
margin-方向某个方向的外边距

一个元素的所占位置是外边距+边框+内边距+元素自身大小。

如果让某个块级元素居中,使用margin:上下距离 auto;

盒子模型阴影

元素{

box-shadow:#000 4px 4px 4px;

}

 溢出overflow

处理元素超出父元素的部分

作用
visible0默认溢出部分显示
hidden溢出部分隐藏
scroll溢出部分使用滚动条控制

定位position

作用
left元素距离页面左边界的左右距离正值向右,负值向左
top元素距离页面上边界的上下距离正值向下,负值向上
right元素距离页面右边界的左右距离正值向左,负值向右
bottom元素距离页面下边界的上下距离正值向上,负值向下

 文档流

页面中的每个元素默认都有自己的位置,这个位置称为文档流

如果某个元素脱离文档流,就会失去他原本所占的位置,后续元素就会顶替其位置

可以通过浮动float、固定定位position:fixed、绝对定位position:absolute让元素脱离文档流

脱离文档流后,通过改变left、right、top和bottom移动其位置

固定定位fixed

让某个元素脱离文档流,默认根据页面的四个边界进行定位

绝对定位absolute

让某个元素脱离文档流,根据已定位的父元素进行定位,如果没有定位的父元素,会根据body定位

相对定位relative

让元素不会脱离文档流,根据他原本的位置进行定位,定位的原点是元素本身的位置,后续元素不会往上顶替的

层叠z-index

对于已定位的元素,可以通过z-index跳转层叠顺序,值是一个数字,越大离眼睛越近

#md1{

position:relative; z-index:10;

}

#md2{

position:relative; z-index:0;

}

 不透明度opacity

设置某个元素的不透明度,0-1之间,1完全不透明,完全透明

如果只是定义备用透明度时,使用rgba(red,green,biue,alpha),alpha使用

div{
 /*让div中的所有内容都半透明,如文字*/
 background-color:#000;
 opacity:0.5;

 /*让div背景半透明,其中的内容不受影响*/
 background-color:rgba(0,0,0,0.5);
}

转换transform

改变元素的状态,如旋转、移动、缩放等

rotate(30deg)顺时针2D旋转30度
rotateX/Y/Z(30deg)沿X/Y/Z轴3D旋转30度
translateX/Y(50px)朝X或Y轴平移50像素
translate(10px,30px)朝右移动像素10px,下移动30相素
scale(1.5)缩放1.5倍

以上所有效果可以通过transform:效果1 效果2....同时设置

transform:rotate(30deg) translateX(100px) scale(1.2)

 过渡transition

设置某个转换效果完成所需的时间等参数

相关样式作用
transition-duration:3s转换所需时间
transition-delay:2s延时生效
transition-timing-function:linear时间函数,linear表示匀速
transition:4s 1s linear在1s后,匀速在4s类完成过渡

自定义动画animation

1.定义动画的关键帧

@keyframes 动画名{
 0%{
 /*该阶段的样式*/
    样式名:值;
 }
 25%{}
 50%{}
 75%{}
 100%{}
}

2.给某个元素设置animation样式

#xxx{
     /*指定动画名*/
     animation-name:动画名;
     /*动画执行时间*/
     animation-duration:3s;
     /*延时*/
     animation-delay:3s;
     /*动画执行次数 infinite无限*/
         animation-iteration-count:4;
     /*动画时间函数 linear匀速  ease-in ease-out ease-in-out*/
     animation-timing-function:linear;
 
     /*简写 只写一个时间表示用时 写两个时间表示第一个是用时,第二个是延时*/
     animation:动画名 5s 2s infinite linear;
}
animation相关样式作用
animation-name:动画名执行指定动画
animation-duration:3s动画执行时间
animation-delay:3s动画延迟时间
animation-iteration-count:3动画执行次数,infiinite表示无限
animation-timing-function:linear动画执行时间函数,linear表示匀速
animation:动画名 5s 3s简写,只写一个时间表示用时,写两个时间表示第一个是用时,第二个是延时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值