1、初识html

W3C : 万维网联盟!(World Wide Web Consortium )
  创建于1994年,是web技术领域最权威最具有影响力的标准机构!
   
   
  W3C规定了web技术领域相关技术的标准!
   
  官网地址:
  www.w3c.org
  www.chinaw3c.org
   
  XML :负责数据的存储
  Html :结构化标准,负责数据的显示
  CSS :表现标准
  JavaScript:行为标准
   
   
  Html概念:
   
  01.超文本标记语言(Hyper Text Markup Language)
  超文本:包含除了文本之外的视频,音频,图片等。
  标记:html也是有多个节点组成的!
  int a =5; 通过a找到5
 
 
  id就是我们的标记
   
  02.文件名以html或者htm结尾的文件我们称之为html!
   
  发展史:
  93年诞生HTML!
  00年改名XHTML!
  13年改名HTML5!
   
   
  HTML5的优势:
  01.世界知名浏览器厂商的支持!
  02.市场的需求
  03.跨平台
   
  HTML网页的基本结构
   
  <!DOCTYPE html> 只是告诉浏览器使用了html的规范
  <html> 根节点
  <head></head> 头部信息
  <body></body> 主体部分
  </html>
   
  我们怎么使用html呢?
  01.记事本(文本编辑器)
  02.DreamWeaver
 

03.WebStorm

第一个网页html 

-->
  -->
  -->
  -->
  -->
 
  <!--
  meta:设置网页相关的元信息(meta-information)!
  比如:设置编码格式,搜索关键字,描述信息,页面跳转等。。。。
  meta常用的属性和属性值:
  01.charset:编码格式
  02.http-equiv:把content属性关联到我们的http头部!
  常用的属性值:
  001.keywords : 搜索关键字
  002.description:描述当前页面的信息
  003.refresh :跳转页面
 
  03.content:定义和http-equiv或者name属性的对应值
  -->
  -->
  -->
   
  head>
   
  -->
  这是我的第一个页面!
  body>
  html>

标题标签

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  标题标签: h1-h6 其他的都没有效果!
  会自动换行!块元素(自己独占一行的元素)!
  -->
  head>
  body>
  h3>
  h4>
  h5>
  h6>
  h7>
  8级标题
   
   
  body>
  html>

 

段落标签

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  段落之前有空行!p标签也是块元素!
  自闭合标签
  <br/> 换行
  <hr/> 水平线
  <h1> <p> </h1> </p> 错误的! 标签的不正确嵌套!
  <p> <h1> </h1></p> 正确!
  -->
  head>
  body>
   
  p>
  br/>
  有勇气就会有奇迹。
  p>
  hr/>
  p>
  br/>
  ……
  p>
   
  body>
  html>

特殊字符

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  虽然有些特殊字符我们可以在页面上显示!但是不允许直接书写!
  需要特殊的符号来代替我们的特殊字符!
  特殊符号对照表:http://www.jb51.net/onlineread/htmlchar.htm
  -->
  head>
  body>
  br/>
  br/>
  br/>
  br/>
  br/>
  <!--
   
   
  想让一行中的某些字体 凸显出来,我们通常使用
  em 斜体 不建议使用i
  strong 加粗 不建议使用b
  尽量使用的标签 语义化(让计算机便于解析,让码农易于阅读)!
  -->
  strong>
  body>
  html>

图片标签

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  常见的图片格式:
  bmp,gif,png,jpg! 压缩(率)比!
   
  img标签 也是一个 行内元素(内联元素)!
   
  src :指的是 图片的位置! 绝对不能写成绝对路径!
  项目中需要的所有文件,都在项目中的images文件夹中保存!
  src就写成项目的相对路径!
  title:鼠标放在图片上的悬停文字,如果没有alt属性,图片不显示时,显示title
  alt:不显示图片的时候 替换文字
  height:高度
  width: 宽度
  -->
  head>
  body>
 
 
  body>
  html>

超链接

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  01.普通的超链接
  02.锚链接
  03.功能性链接
   
  src:我们一般指的是 文件的地址!路径! 从哪里来
  href:是指向,引用! 到哪里去
   
  target:目标页面的设置!指的是 我们点击超链接之后的页面显示窗口的位置! 默认是当前窗口! _self
  _blank:在新创建的窗口中显示!
  -->
  head>
  body>
   
  br/>
  br/>
  br/>
   
  <!--
  把图片嵌套在超链接中!
  -->
 
 
  a>
  body>
  html>

锚链接本页面跳转

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  锚链接:
  01.从本页面的A位置 跳转本页面的B位置 使用 #+标记名称
  02.从本页面的A位置 跳转其他页面的B位置 使用 页面名+#+标记名称
  name:标记的名称
  -->
  head>
  body>
  div>
  div>
 
 
 
 
 
 
 
 
  -->
  -->
  body>
  html>

锚链接需要的页面

<!DOCTYPE html>
  html>
 
 
  title>
  head>
  body>
 
 
 
 
 
 
 
 
  a>
  body>
  html>

块元素和内联元素

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  块元素:自身独占一行!
  可以设置盒子大小!
  h1 - h6 p div
  内联元素:元素在一行显示!
  不可以设置盒大小!
  a img span子
  块元素和内联元素可以互相转换! 通过display属性设置!
  -->
  head>
  body>
   
 
  我是一个小盒子
  div>
   
  a>
   
   
  body>
  html>

2、列表表格和媒体元素

无序列表

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  什么是列表
  列表就是信息资源的一种展示形式。它可以使信息结构化和条理化,并以列表的样式显示出来,
  以便浏览者能更快捷地获得相应的信息!
   
  01.前面有默认的实心圆
  02.每个li独占一行
  03.适用于我们的新闻列表,导航栏
  -->
  head>
  body>
  ul>
  li>
  li>
  li>
  ul>
   
   
  body>
  html>

有序列表

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  01.有顺序,前面默认是阿拉伯数字
  02.适用与试卷 和问卷调查!
  -->
  head>
  body>
  ol>
  li>
  li>
  li>
  ol>
  body>
  html>

自定义标签

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  01.每个dt dd都独占一行
  02.默认前面没有任何标记
  03.适用于一个标题下,有多个列表项的场景
  -->
   
  head>
  body>
   
  dl>
  dt>
  dd>
  dd>
   
  dt>
  dd>
  dd>
  dl>
   
  body>
  html>

表格

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  01.简单易用,便于阅读
  02.结构简单
   
  table中的属性:
  01.border: 边框的像素
  02.cellpadding 设置内容和单元格之间的距离
  03.cellspacing 设置单元格和单元格之间的距离
  04.bgcolor 整个表格的背景色 #ffc0cb :代表的是16进制的颜色码
  05.width 表格在浏览器中的宽度比
   
   
  td节点中的
 
 
 
  -->
  head>
  body>
 
 
  tr>
  td>
  td>
  td>
  tr>
  tr>
  td>
  td>
  td>
  tr>
  table>
   
   
   
   
   
  body>
  html>

跨行跨列

<!DOCTYPE html>
  html>
 
 
  title>
   
  <!--
  都必须写在td中
  rowspan :跨行
  colspan:跨列
  -->
  head>
  body>
   
 
  tr>
  td>
  tr>
   
  tr>
  td>
  td>
  td>
  tr>
  tr>
  td>
  td>
  tr>
  tr>
  td>
  td>
  td>
  tr>
  tr>
  td>
  td>
  tr>
   
   
  table>
   
  body>
  html>

高级表格

<!DOCTYPE html>
  html>
 
 
  title>
  head>
  body>
 
  -->
  -->
  tr>
  th>
  th>
  tr>
  thead>
  -->
  tr>
  td>
  td>
  tr>
  tr>
  td>
  td>
  tr>
  tr>
  td>
  td>
  tr>
  tr>
  td>
  td>
  tr>
  tbody>
   
  -->
  tr>
  td>
  td>
  tr>
  tr>
  td>
  td>
  tr>
  tfoot>
  table>
   
   
  body>
  html>

音频标签

<!DOCTYPE html>
  html>
 
 
  title>
   
  <!--
  audio:音频标签
  controls:是否显示 控制条
  autoplay:是否自动播放
  -->
  head>
  body>
  autoplay>
 
  audio>
  body>
  html>

视频标签

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  video:视频标签
  controls:是否显示 控制条
  autoplay:是否自动播放
  -->
  head>
  body>
  video>
  body>
  html>

结构元素

<!DOCTYPE html>
  html>
 
 
  title>
   
  <!--
   
  用于网页的布局:
   
  header: 头部区域
  section:html页面中的一块独立的部分
  footer:脚部区域
  nav:导航菜单
  article:独立的文章内容
  aside:常用于侧边栏
  -->
   
 
  header{
  px;
  red;
  }
  section{
  px;
  black;
  }
  footer{
  px;
  blue;
  }
  style>
  head>
  body>
   
  header>
  header>
   
  section>
  section>
   
  footer>
  footer>
   
  body>
  html>

内联框架

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  src :指的是 我们需要引入的外部文件地址
   
  需求:
  用户点击不同的超链接,在iframe框架中 显示不同的页面!
   
  -->
  head>
  body>
   
  a>
  a>
  a>
   
  iframe>
   
  body>
  html>

3、CSS美化页面

css美化页面
   
  如果在我们一行文字中,想让某个文字凸显出来,使用span!
   
  1.字体样式
  font-style:字体的风格 italic normal
  font-weight:字体的粗细 normal(默认400) bold(700) bolder 最大到900
  font-size:字体的大小 10px 2em rem pc pt
  font-family:字体的类型,比如我们的楷体,隶书,宋体。。。。。
   
  font:风格 粗细 大小 类型
  在一起设置属性的时候,四种属性顺序不能颠倒!
   
  2.文本样式
  color:文本颜色 red 16进制颜色码 rgb rgba
  rgb(red,green,blue)正数取值 0-255
  rgba(red,green,blue,alpha)
  alpha的取值必须是0-1 0不显示 1正常显示
  text-align:文本元素的水平对齐方式
  center left right justify(两端对齐)
  line-height:文本的行高!
  如果想设置文本的垂直居中line-height的值必须等于height的值
  text-indent:设置首行缩进
  p{
  text-indent:2em; 设置p首行缩进2个字符
  }
  text-decoration:文本的装饰
  none:默认值
  underline:下划线
  overline:上划线
  line-through:删除线
  text-shadow:文本阴影
   
  3.display 可以实现 块元素和行内元素的互换!
  inline inline-block block
   
  4.超链接伪类
   
  结构伪类选择器:
  div:nth-of-type() :nth-child
  css伪类是一个特殊的类! 它针对于我们设置的css选择器起作用!
   
  css伪类的语法:
  选择器:伪类名{
  属性:属性值;
 
  :link ==> 还没有点击超链接的样式
  :visited ==> 点击之后超链接的样式
  :hover ==> 鼠标悬停在超链接的样式
  :active ==> 鼠标点击未释放超链接的样式
   
  love hate
  如果同时给一个选择器设置超链接伪类样式,那么顺序是必须不变的!
   
  5.列表样式
  list-style-type 列表符号样式
  none 无符号
  disc 实心圆
  circle 空心圆
  decimal 数字 .....
  list-style-image 列表图片 url
  list-style-position 列表符号是否被li包含,默认是ul包含
  list-style 列表样式
   
  如果同时设置了type和image 那么image会覆盖type!和书写先后顺序没关系!
   
  6.背景样式
    background-image:背景图片
  background-position:背景位置
  background-repeat:背景重复方式
  repeat:默认方式 水平和垂直都平铺
  no-repeat:不平铺,只有一个图片
  repeat-x:水平平铺
  repeat-y:垂直平铺
   
  background: 背景色 背景图片 背景位置 平铺方式
  虽然没有固定顺序,但是我们有个默认的写法!
   
  如果我们相对背景图片的大小进行设置!那么请使用background-size
  background-size:contain;
  background-size:背景图片的尺寸
  auto:默认值,使用图片的大小
  cover:让整个图片正好填充整个盒子
  contain:让图片自动的方法或者缩小 适应盒子的大小
  percentage:使用百分比 手动的校正图片在盒子中的大小
   
   
  7.渐变属性
  linear-gradient:(方向,color1,color2)
  to top :方向
  red:第1个颜色
  black:第2个颜色
  IE浏览器是Trident内核,加前缀:-ms-
  Chrome浏览器是Webkit内核,加前缀:-webkit-
  Safari浏览器是Webkit内核,加前缀:-webkit-
  Opera浏览器是Blink内核,加前缀:-o-
  Firefox浏览器是Mozilla内核,加前缀:-moz-

Span

<!DOCTYPE html>
  html>
 
 
  title>
  <!--span标签
  想让某些文字凸显出来
  -->
 
  span{
  red;
  }
   
  span{
  green;
  }
  */
  span{
 
  red;
  }
   
  style>
   
   
   
  head>
  body>
  div>
  div>
  span>bcdefg
  body>
  html>

字体样式

<!DOCTYPE html>
  html>
 
 
  title>
   
 
   
  div{
  */
 
  */
  italic;
  */
  small;
  */
  bold;
  }
  */
  span{
 
  }
  style>
  head>
  body>
   
  div>
  div>
  body>
  html>

display

<!DOCTYPE html>
  html>
 
 
  title>
  -->
   
  <!-- 需求:
  01.设置块元素2和3 在一行显示
  02.设置块元素2和3 的边框和宽度 高度 ==>因为已经变成了内联元素 所以宽度 高度 无效
  03.我们想块元素2和3 在一行显示 但是 还能设置 宽度 高度 ???display: inline-block;
  04.把内联元素3 变成块元素 并且设置 宽度 高度
  -->
 
  3){
  */
  */
  red;
  px;
  px;
  }
  3){
  red;
  */
  px;
  px;
  }
   
  style>
   
  head>
  body>
   
  span>
  span>
  span>
   
  div>
  div>
  div>
   
   
   
  body>
  html>

文本样式

<!DOCTYPE html>
  html>
 
 
  title>
   
 
  /* 01.设置文本的颜色
  RGB: red green blue
  rgb(red ,green,blue) 每个颜色的数值范围是0-255
  rgba(50,100,50,0.2) 最后一个参数 设置透明度 alpha 取值是0-1
  16进制的颜色码 #020202
  前两位代表R的分量
  中间两位代表G的分量
  后两位代表B的分量
   
   
  02.设置文本的对齐方式
  text-align center right left
   
  03.设置文本的垂直居中
  我们设置的line-height的值要和 盒子的 height属性值一致!
   
  04.文本的装饰
  text-decoration: line-through; 删除线
  text-decoration: underline; 下划线
  text-decoration: overline; 上划线
  05.文本的阴影
  text-shadow:red 2px 3px 1px ;
  red:阴影的颜色
  2px:x轴的位移
  3px:y轴的位移
  1px:阴影的模糊范围 值越小 看到的文本越清晰
  */
  div{
  */
  */
  */
  */
  red;
  px;
  */
  underline;
  */
  }
   
  style>
   
   
  head>
  body>
  div>
  div>
  body>
  html>

超链接伪类

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  a:link 我们还没有访问超链接时的样式
  a:visited 访问之后超链接的样式
  a:hover 鼠标悬停在超链接上的样式
  a:active 鼠标点击未释放
  顺序一定不能有误!
  -->
   
   
 
  :link{
  red;
  }
  :visited{
  greenyellow;
  }
  :hover{
  deeppink;
  }
  :active{
  yellow;
  }
   
  :hover{
  red;
  px;
  }
   
   
  :hover{
  red;
  }
   
  style>
   
  head>
  body>
   
  span>
  a>
   
  div>
  div>
  div>
  body>
  html>

列表样式

<!DOCTYPE html>
  html>
 
 
  title>
   
 
  /*01.去掉列表前面实心圆点
  list-style-type: none;
  list-style-type:设置前面默认的样式
   
  02.把默认的小圆点换成图片
 
   
  03.设置li和图标的关系
  li是否包含前面的小图标
  */
  li{
  inside;
 
  */
  }
  style>
  head>
  body>
  ul>
  li>
  li>
  li>
  li>
  ul>
  body>
  html>

背景样式

<!DOCTYPE html>
  html>
 
 
  title>
   
 
   
  div{
  red;
  px;
  px;
  */
  */
  */
  */
  */
  /*
  background-size:contain;
  background-size:背景图片的尺寸
  auto:默认值,使用图片的大小
  cover:让整个图片正好填充整个盒子
  contain:让图片自动的方法或者缩小 适应盒子的大小
  percentage:使用百分比 手动的校正图片在盒子中的大小 100%;
  */
  }
   
   
  style>
   
   
  head>
  body>
  div>
   
   
  body>
  html>

渐变属性

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  01.线性渐变
  颜色按照从上到下或者从左到右 等顺序发生的变化
  02.径向渐变
  不是按照直线的顺序! 圆形,椭圆!从一个点向所有的方向混合!
  -->
   
 
  div{
  red;
  px;
  px;
  green);
  /* to top :方向
  red:第1个颜色
  black:第2个颜色
  IE浏览器是Trident内核,加前缀:-ms-
  Chrome浏览器是Webkit内核,加前缀:-webkit-
  Safari浏览器是Webkit内核,加前缀:-webkit-
  Opera浏览器是Blink内核,加前缀:-o-
  Firefox浏览器是Mozilla内核,加前缀:-moz-
  */
  }
   
  style>
   
   
  head>
  body>
   
  div>
   
  body>
  html>

文本属性

<!DOCTYPE html>
  html>
 
 
  title>
   
 
  div{
  px;
  red;
  px;
  center;
  }
   
  style>
  head>
  body>
   
  div>
   
  body>
  html>

4、浮动

网页会根据块元素或者内联元素的特性,按照从左至右,从上到下的方式自然排序!
  这种元素自然排列的方式,我们称之为====》标准文档流!
   
  浮动 float
  左浮动
  右浮动
  浮动之后 会脱离 标准文档流
   
  溢出 overflow
  overflow:
  01.visible:默认显示
  02.scroll:以滚动条的形式显示溢出部分
  03.hidden:溢出部分隐藏
  04.auto:自动跳转
   
  我们书写了一个页面,里面有很多块元素,默认排版就是标准文档流!
   
  如果我们想让ul中的li能在一行显示!
  01.display
  02.浮动
   
  只要是元素设置了浮动就会脱离标准文档流!
  如果我们的父元素容不下浮动元素!
  可以选择是否显示溢出的元素!
  使用overflow!
   
  clear 清除浮动
  none 默认
  left 在左侧不允许浮动
  right 在右侧不允许浮动
  both 左右侧都不允许浮动
   
   
   
  防止父级边框塌陷的方式:
  01.给父级盒子设置宽高!
  02.在父级盒子的最后一个位置增加div没有内容
 
  给这个div增加样式
  .clear{
  border: 1px solid black;
  clear: both;
  }
  03.在父盒子中设置溢出处理
  overflow: hidden;
  04.最终使用的方式 :after伪类
 
  .clear:after{
  display: block;/*在#main div的左后一个位置增加一个块元素*/
  content: ''; /*块元素的内容什么都没有*/
  clear: both; /*清除浮动*/
  }

网页布局

<!DOCTYPE html>
  html>
 
 
  title>
  <!-- 网页会根据块元素或者内联元素的特性,按照从左至右,从上到下的方式自然排序!
  -->
  head>
  body>
  span>
  span>
  span>
  div>
  span>
  span>
  span>
  body>
  html>

浮动属性

<!DOCTYPE html>
  html>
 
 
  title>
 
  */
  px;
  px;
  red;
  /*针对于浮动之后 内容溢出的处理
  overflow:
  01.visible:默认显示
  02.scroll:以滚动条的形式显示溢出部分
  03.hidden:溢出部分隐藏
  04.auto:自动调整
  */
  scroll;
  }
   
  */
  px;
  px;
  red;
  px;
  */
  right;
  }
   
  style>
   
  head>
  body>
 
  div>
  div>
  div>
  div>
  body>
  html>

清除浮动属性

<!DOCTYPE html>
  html>
 
 
  title>
 
  */
  px;
  px;
  red;
  }
   
  */
  px;
  px;
  blue;
  px;
  left;
  /*第三个盒子清除左浮动
  #c{
  clear: left;
  */
  */
  #b{
  left;
  }
   
  style>
   
  head>
  body>
 
  div>
  div>
  div>
  div>
  body>
  html>

防止父级边框塌陷 

<!DOCTYPE html>
  html>
 
 
  title>
   
 
  #main{
  red;
  /*01.给父级div设置高度
  */
  */
  }
   
  */
  red;
  */
  }
   
  /*02. 增加空div 防止父级边框塌陷
  .clear{
  border: 1px solid black;
  clear: both;
  */
   
  */
  :after{
  */
  */
  */
  }
  style>
  head>
  body>
 
  div>
  div>
  div>
  -->
  div>
  body>
  html>

5、网页动画

css变形:transform
 平移   translate(x,y)
        translateX
        translateY
 transform:translate(100px,0)

 旋转   rotate(deg) 旋转多少度,不会改变元素的形状

 缩放   scale(x,y) 如果只书写了一个值,默认第2个参数等于第一个值
        scaleX
        scaleY

 倾斜   skew(x,y) deg 会改变元素的形状
        skewX
        skewY


 如果说我们想给一个元素同时设置多个 变形属性!
   transform: 倾斜  缩放  旋转  ;
    多个属性之间使用空格隔开!


我们上面的变形属性都是一瞬间就完成了!没有看到中间过程!

如果想看到!使用css过渡属性  transition==>是一个动画的转换过程!

css过渡属性:
transition:property  duration  timing-function  delay

property:过渡或者动画的css属性,例如color,width,如果想都设置使用all
duration:完成过渡效果需要的时间 s为单位
timing-function: 过渡函数
   ease:默认值  速度由快到慢
   linear:匀速
   ease-in:越来越快
   ease-out:越来越慢
   ease-in-out:先加速后减速
delay:过渡开始的延迟时间  s为单位


CSS动画

01.创建关键帧
@keyframes  名称(animates){
    0%{
      css属性:属性值;
    }
    50%{
      css属性:属性值;
    }
    100%{
      css属性:属性值;
    }
}
02.怎么调用关键帧
animation:关键帧的名称  3s linear 1s;

CSS3变形

<!DOCTYPE html>
  html>
 
 
  title>
   
 
  *{
  px;
  px;
  }
  li{
  none;
  left;
  px;
  0.5);
  */
  }
   
  :hover{
  */
  */
  */
  /* transform: skewY(20deg);
  */
  }
   
  a{
  none;
  }
   
  :hover{
  0.5);
  px;
  }
   
   
   
  style>
  head>
  body>
  ul>
  li>
  li>
  li>
  li>
  li>
  li>
  li>
  li>
  ul>
  body>
  html>

CSS3过渡

<!DOCTYPE html>
  html>
 
 
  title>
   
 
  *{
  px;
  px;
  }
   
   
  div{
  px;
  px;
  pink;
  center;
  px;
  s;
  /**
  all: transition-property
  3s : transition-duration
  linear: transition-timing-function
  2s: transition-delay
  */
  }
   
  :hover{
  red;
  px;
  */
  /*transition属性的值:
  01.transition-property:过渡的css属性的名称(color,font-size,background)等!
  想给多个属性设置过渡效果,使用all!
  02.transition-duration:过渡效果需要的时间!
  03.transition-timing-function:设置速度曲线!
  ease:慢速开始,之后变快!
  linear:匀速!
  ease-in:慢速开始!
  ease-out:慢速结束!
  04.transition-delay:过度效果开始前需要等待的时间!默认 0s!
  */
  }
   
   
   
  style>
  head>
  body>
  div>
  大家辛苦了!
  div>
  body>
  html>

CSS3动画

<!DOCTYPE html>
  html>
 
 
  title>
 
  div{
  px;
  px;
  pink;
  */
  2;
  }
  */
  animates{
  0%{
  px;
  0);
  }
  25%{
  px;
  px;
  deg);
  }
  50%{
  px;
  px;
  deg);
  }
  75%{
  px;
  px;
  deg);
  }
  100%{
  px;
  px;
  deg);
  }
  }
   
   
   
  style>
   
   
  head>
  body>
  div>
  body>
  html>

6、表单

常见的表单元素:
   文本框        type="text"    默认值
   密码框        type="password"
   单选按钮      type="radio"
            <input type="radio" name="sex" value="男">男
            <input type="radio" name="sex" value="女">女<br/>
          name属性值必须一致!否则会都能选择!
         value属性值必须设置!否则后台无法获取属性值!
         后台只能获取一个值!

   复选框        type="checkbox"
     name属性值必须一致!否则会都能选择!
     value属性值必须设置!否则后台无法获取属性值!
     后台获取时,需要做非空验证!

     单选按钮和 复选框 默认被选中使用checked

   列表框        type="select"
       默认被选中,在option中使用selected


   按钮          type="button"  普通按钮   只是一个按钮 后面学了js可以绑定事件
                 type="reset"   重置按钮   把表单中所有的元素内容变为初始值
                 type="submit"  提交按钮   会把表单中的所有内容提交到服务器

   多行文本域     type="textarea"
   邮箱          type="email"
   数字          type="number"
   滑块          type="range"
   搜索          type="search"

登陆页面

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  form表单的意义:
  01.获取用户的输入 ==》收集数据
  02.将用户的输入发送到服务器===》与服务器产生交互
   
   
  action:我们获取完用户的输入之后 提交到的服务器地址!
  #:代表当前页面!
  也可以不书写!
   
  method:我们提交的方式!
  可以理解成 我们
  普通人 说话 get
 
  聋哑人打手语 post
  get和post的区别 安不安全 相对而言
   
  01.get会在url地址栏中显示我们输入的数据
  post会在请求头中显示用户的输入
  F12之后选择 network 向下拉到页面的最底部 有一个 form data
  这里有post请求的数据!
   
  02.http协议对get和post请求都没有长度限制
  如果对url的长度进行限制只有两种原因:
  001.浏览器自身的设置
  002.服务器的设置
   
   
  input标签中的常用属性:
  name:可以理解成标记! 用于服务器获取我们这个表单中的元素值! 必须的!
  value: 用户在页面中输入的值! 我们一般可以不写!
  maxlength:文本框的最大字节数量
  size:表单元素的初始长度!
   
 
  那么再我们点击注册按钮的时候,
 
  服务器根据 name的属性值,获取value的属性值!
  placeholder:占位符,提示语!不是value的值! 只有在value属性值为空的时候显示!
  -->
  head>
  body>
   
 
  br/>
  br/>
  checked>男
  br/>
  checked>足球
 
 
  br/>
   
 
  option>
  option>
  option>
  option>
  br/>
   
 
  xxx xxx
  xxx xxx
  xxx xxx
  textarea>
  br/>
 
 
 
 
  br/>
  br/>
  br/>
  br/>
  br/>
  br/>
   
   
  label>
  label>
  br/>
   
 
   
 
 
 
  -->
   
  -->
   
  form>
   
   
  body>
  html>

7、初识CSS

CSS(Cascading Style Sheet)  级联(层叠)样式表!   网页样式的设计!

 96年 css1.0
 04年 css2.1
 10年 css3.0

优势:
  01.页面和样式的分离
  02.便于我们修改和使用
  03.多个页面的应用,css样式可以复用
  04.层叠,一个元素可以多次设置样式!
  05.页面压缩

 设置HTML文件样式的计算机语言!
 可以对网页中的文字,颜色,字体大小,边框,背景,高度,网页定位等样式的设定!

 例子:
   之前设计表格的时候! 每一个单元格都是td!
   我们想让每个td的内容都居中显示??? 我们怎么做??
   在每个td上 都加上align="center"!   但是麻烦!

 现在   我们可以通过 css的选择器 来统一给整个页面中的所有td设置样式!
  怎么设置呢??

  td{    //页面中所有的td内容 水平居中!
     text-align:center;
    }

CSS的语法规则:
  选择器{    //开发者模式   便于阅读
          属性1:值1;
          属性2:值2;
          属性3:值3;   //最后一个;可以省略不写!但是不建议省略!
         }

  选择器{属性1:值1;属性2:值2;属性3:值3;} //生产者模式   减少内存

HTML中引入CSS样式的3种方式:

 例子:
     假如我们是一个包工头,现在需要对我们已经建好的楼房进行装修!

     两种选择:
       01.自己装修             == 》行内样式    <a href="#" style="color:red">百度</a>
       02.别人装修
           001.自己人装修      == 》内部样式
           002.其他人装修      == 》外部样式

  如果说自己人和其他人以及你自己都想干装修!
  肯定是自己说了算!!!!

  css样式的优先级:
  行内样式  >  内部样式 >  外部样式


  导入外部样式的两种方式:
      01.链接式   <link  rel="stylesheet"  href="外部文件位置"  type="text/css">
      02.导入式
          <style  type="text/css">
               @import "外部文件位置";
          </style>

 链接式的导入式的区别:
  01.链接式的link属性XHTML     @import 属于css2.1
  02.链接式优先加载css样式,再加载页面中的html内容!
  03.@import先加载页面中的html内容,再加载css样式!
  04.@import存在浏览器兼容性问题!


 css中最重要就是 选择器:

 选择器:
  1.基本选择器
      01.标签选择器  p{}   a{}  div{}
      02.类选择器   .a 获取页面中class属性值是a的元素   可以有N个
      <span class="a">第一个span标签</span>
      <span class="a">第二个span标签 </span>
      <span class="a">第三个span标签</span>
      <div class="a">第1个div标签</span>
      <div class="a">第2个div标签</span>
      03.id选择器  #a  获取页面中id属性值是a的元素  只能有1个
      <div  ></div>

  2.高级选择器
      01.交集选择器
      02.并集选择器
      03.层次选择器
         01.后代选择器
         02.子选择器
         03.相邻兄弟选择器    之后的一个兄弟元素
         04.通用兄弟选择器    之后的所有兄弟元素

      04.结构伪类选择器   *****
      05.属性选择器  [属性=属性值]

标签选择器

<!DOCTYPE html>
  html>
 
 
  title>
  <!-- 内部样式设置 style标签应该写在head标签中
 
  h1{ /* h1 页面中所有的h1标签*/
  color: red; /*color 属性 red 属性值*/
  font-size: 50px;
  }
  -->
   
  <!-- 链接式
  -->
   
  -->
 
 
  style>
   
  head>
  body>
  -->
  -->
  h1>
  h1>
   
   
   
   
  body>
  html>

类选择器

<!DOCTYPE html>
  html>
 
 
  title>
  -->
 
  */
  red;
  }
   
  */
  .boxSize{
  px;
  }
   
  style>
  head>
  body>
   
  div>
  -->
  div>
  div>
  div>
   
  body>
  html>

id选择器

<!DOCTYPE html>
  html>
 
 
  title>
  -->
   
 
  */
  #box2{
  red;
  }
  */
  #box3{
  px;
  }
   
  style>
  head>
  body>
  div>
  div>
  div>
  div>
  body>
  html>

选择器的优先级

<!DOCTYPE html>
  html>
 
 
  title>
  <!--需求:
  分别使用 标签,类和id三种选择器 设置div的样式
  -->
 
  div{
  red;
  }
  .myDiv{
  black;
  }
  #name{
  */
  }
  /*
  id选择器 > 类选择器 > 标签选择器
  */
   
  style>
   
  head>
  body>
  div>
   
  body>
  html>
 

元素样式的继承性

<!DOCTYPE html>
  html>
 
 
  title>
  <!-- 需求 :
  给页面中id为first的div设置样式
  给页面中id为second的div设置样式
   
  -->
   
 
  #first{
  red;
  }
   
  #second{
  pink;
  }
  #third{
  greenyellow;
  }
   
  style>
  head>
  body>
 
 
 
  第三个
  div>
  div>
  div>
  body>
  html>

并集选择器

<!DOCTYPE html>
  html>
 
 
  title>
  <!-- 需求
 
  设置相同的样式!
  -->
 
  /* 多个选择器都具有的样式. 每个选择器之间使用,隔开
  多个选择器没有顺序
  */
  div{
  red;
  }
  style>
   
   
   
  head>
  body>
  div>
  div>
  span>
  span>
  body>
  html>

交集选择器

<!DOCTYPE html>
  html>
 
 
  title>
  <!-- 交集选择器的规则
  01:标签选择器+id选择器
  02:标签选择器+类选择器
  03.多个选择器直接连着写,不需要有符号隔开
  -->
   
   
 
  /* 需求:
 
  */
  .mySpan2{
  red;
  }
   
   
   
   
   
  style>
   
  head>
  body>
  div>
   
  div>
   
  span>
   
  span>
  body>
  html>

后代选择器

<!DOCTYPE html>
  html>
 
 
  title>
  <!-- 需求:
  改变body中 所有span元素的样式
  后代选择器 中间使用空格隔开
  包含子和孙子等所有的子孙节点
  -->
 
  span{
  red;
  }
  style>
   
   
   
  head>
  body>
   
  div> 儿子div1
  span>
  div>
   
  div>儿子div2
  span>
  div>
   
   
  span>
  span>
   
   
  body>
  html>

子选择器

<!DOCTYPE html>
  html>
 
 
  title>
  <!-- 需求:
  改变body中 所有子元素是span的样式
  只包含子节点
  -->
 
  span{
  red;
  }
  */
  div{
  red;
  }
  style>
   
   
   
  head>
  body>
   
  div> 儿子div1
  span>
  div>
   
  div>儿子div2
  span>
  div>
   
   
  span>
  span>
   
   
  body>
  html>

相邻兄弟选择器

<!DOCTYPE html>
  html>
 
 
  title>
  <!-- 需求:
 
  -->
 
  span{
  red;
  }
  style>
   
   
   
  head>
  body>
   
  div> 儿子div1
  span>
  div>
   
 
  span>
  div>
   
   
  span>
  span>
   
   
  body>
  html>

通用兄弟选择器

<!DOCTYPE html>
  html>
 
 
  title>
  <!-- 需求:
 
  -->
 
  span{
  red;
  }
  style>
   
   
   
  head>
  body>
   
  div> 儿子div1
  span>
  div>
   
 
  span>
  div>
   
   
  span>
  span>
  span>
  span>
   
   
  body>
  html>

结构伪类选择器

<!DOCTYPE html>
  html>
 
 
  title>
  -->
 
  /*01.改变ul中第一个li的样式
  ul li:first-child{
  color: red;
  */
  /*02.改变ul中最后一个li的样式
  ul li:last-child{
  color: red;
  */
   
  /*03.改变第3个div的样式
  body中如果第3个元素是div就改变样式,
  否则都没有效果! 着重于顺序!
  body div:nth-child(3){
  color: red;
  */
  /*04.改变页面中第2个span元素的样式
  nth-of-type: 先查询类型 再看顺序
  body span:nth-of-type(2){
  color: red;
  }
   
  body div:nth-of-type(3){
  color: red;
  }
  */
  style>
   
   
  head>
  body>
   
  div>
  div>
  span>
  div>
  span>
   
  ul>
  li>
  li>
  li>
  li>
  ul>
  ul>
  li>
  li>
  li>
  li>
  ul>
  body>
  html>

属性选择器

<!DOCTYPE html>
  html>
 
 
  title>
   
 
 
 
  color: red;
  */
  /*02.改变所有id属性元素
  div[id]{
  color: red;
  */
  /*03.改变所有id属性值以h开头元素
 
  color: red;
  */
  /*04.改变所有id属性值以a结尾元素
 
  color: red;
  */
  /*04.改变所有id属性值包含i的元素
 
  color: red;
  */
   
   
  style>
   
   
  head>
  body>
  div>
  div>
  div>
  div>
  div>
  body>
  html>

8、盒子模型

盒子模型     div+css3


边框  border
border:1px  solid red;


border-color:边框颜色  上右下左四个边
border-top-color:上边框颜色
border-right-color:右边框颜色
border-bottom-color:下边框颜色
border-left-color:左边框颜色


border-width:边框粗细  上右下左四个边  thin  medium  thick 可以是像素
border-top-width
border-right-width
border-bottom-width
border-left-width

border-width:5px 10px ; 上下为5px  左右为10px
border-width:5px 10px  20px ;  上为5px  下为20px  左右为10px

border-style:边框样式
dashed  常用
solid   常用

none
hidden
dotted
double

简写:
border:1px  solid red; 规范写法
       粗细  样式  颜色!


margin:外边距
margin-top
margin-right
margin-bottom
margin-left

margin:5px 10px;上下外边距为5px  左右外边距为10px


margin:0px auto; 网页中的盒子居中显示!
前提:
  01.必须是块元素
  02.固定宽度


padding:内边距
padding-top
padding-right
padding-bottom
padding-left

padding:5px 10px;上下内边距为5px  左右内边距为10px

盒子模型总尺寸=内容宽度+padding+border+margin


box-sizing:设置盒子模型的大小规则

content-box:盒子的总尺寸
border-box:盒子的宽度或者高度 等于  内容的宽度或者高度
inherit:继承父盒子


圆角属性
border-radius:左上 右上  右下 左下

盒子阴影
 box-shadow:inset 10px 10px 1px pink;

inset:阴影类型   内 外
x轴
y轴
阴影半径
阴影颜色

边框border

<!DOCTYPE html>
  html>
 
 
  title>
   
  <!--
  border的常用属性:
  01. 设置边框的颜色 border-color
  02. 设置边框的粗细 border-width
  03. 设置边框的样式 border-style
   
   
  -->
   
 
  */
  div{
  px;
  px;
  /* 设置盒子的上边框
  border-top-color: red;
  border-top-width: 1px;
  border-top-style: dashed;
  */
  /*同时设置四个边框
  border-color: red;
  border-width: 2px;
  border-style: dashed;
  */
  */
  red;
  }
  style>
   
  head>
  body>
   
  div>
  body>
  html>

外边距margin

<!DOCTYPE html>
  html>
 
 
  title>
   
 
  */
  px;
  px;
  }
   
   
  div{
  */
  px;
  px;
  */
  red;
  /*设置外边距 元素以左上角为准
  margin-top: 50px;
  margin-left: 50px;
  margin-right: 50px;
  */
  /*设置上下20px 左右50px
  设置边距的时候 顺序 是 上右下左!
  */
  px;
  }
   
  style>
   
  head>
  body>
  div>
  div>
  body>
  html>

内边距padding

<!DOCTYPE html>
  html>
 
 
  title>
   
 
  */
  px;
  px;
  }
  */
  #bigBox{
  */
  px;
  px;
  */
  red;
  */
  }
  */
  #image{
  */
  px;
  px;
  */
  pink;
  px;
  }
   
  style>
   
  head>
  body>
  -->
  -->
  -->
  div>
  div>
  body>
  html>

网页居中

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  网页居中的必要条件:
  01.必须是一个块元素
  02.必须设置固定宽度
  -->
 
  */
  px;
  px;
  }
  */
  div{
  */
  px;
  */
  red;
  */
  auto;
  }
   
  style>
   
  head>
  body>
   
  -->
  div>
   
  body>
  html>

盒子的尺寸boxsizing

<!DOCTYPE html>
  html>
 
 
  title>
   
 
  *{
  px;
  px;
  }
  */
  px;
  px;
  red;
  border-box;
  }
   
  */
  px;
  px;
  yellowgreen;
  */
  */
  */
  inherit;
  }
   
   
  style>
  head>
  body>
 
  div>
  div>
  body>
  html>

圆角属性

<!DOCTYPE html>
  html>
 
 
  title>
   
 
  div{
  px;
  px;
  red;
   
  */
  /*设置圆角属性 简写 默认是 左上 右上 右下 左下 顺时针方向
  */
  }
   
  style>
  head>
  body>
   
  div>
  body>
  html>

设置半圆

<!DOCTYPE html>
  html>
 
 
  title>
 
  div{
  pink;
  px;
  }
  1){
  px;
  px;
  */
  }
   
  2){
  px;
  px;
  */
  }
  3){
  */
  px;
  */
  }
  4){
  px;
  px;
  */
  }
   
   
   
  style>
   
  head>
  body>
  div>
  div>
  div>
  div>
  body>
  html>

设置圆形和扇形

<!DOCTYPE html>
  html>
 
 
  title>
 
  div{
  pink;
  px;
  }
  */
  1){
  px;
  px;
  px;
  }
   
  2){
  px;
  px;
  */
  }
   
  3){
  px;
  px;
  */
  }
   
  4){
  px;
  px;
  */
  }
   
  5){
  px;
  px;
  */
  }
   
   
   
  style>
   
  head>
  body>
  div>
  div>
  div>
  div>
  div>
  body>
  html>

盒子阴影

<!DOCTYPE html>
  html>
 
 
  title>
 
  div{
  px;
  px;
  /*
  */
  */
  }
   
  style>
   
  head>
  body>
  div>
  body>
  html>

9、定位

定位:  position
  1.static 默认值  没有定位
  2.relative 相对定位,参照物是自身原来的位置
      01.  参照物是自身原来的位置
      02.  不会脱离标准文档流,对父级盒子和相邻的盒子不会产生影响
      03.  自身之前的位置会保留

  3.absolute 绝对定位,参照物是当前盒子的父级
      01.参照物是当前盒子的父级
      02.父级必须是设置了定位(一般父级都是相对定位)
      03.如果找不到祖先元素,以浏览器为参照物
      04.会脱离标准文档流,
          如果相邻的盒子没有设置定位属性,会产生影响,
          如果相邻的盒子设置定位属性,不会产生影响,
      05.自身之前的位置不会保留

  4.fixed    固定定位,参照物是浏览器

 顺序离我们最近的是
 fixed > relative  > absolute > static



z-index:

设置相同层面的元素  堆叠顺序   默认值 是0   值越大  离我们越近

定位属性

<!DOCTYPE html>
  html>
 
 
  title>
  <!--
  position
  01.static :默认,没有定位! 离我们最远
  02.absolute:绝对定位
  001.脱离了标准文档流
  002.位置发生变化之后,位置不会被保留!后续元素会顶替之前的位置
  003.参照离这个设置了定位属性的最近的父级元素!如果没有 就以浏览器为准
  03.relative:相对定位
  001.相对于自身原来的位置
  002.没有脱离标准文档流
  003.位置发生变化之后,位置会被保留
  04.fixed:固定定位
  相对于浏览器
  -->
   
 
  *{
  px;
  px;
  }
   
  div{
  px;
  px;
  }
  */
  px;
  px;
  red;
  }
   
   
   
  1){
  red;
  */
  absolute;
  */
  }
   
  2){
  orange;
  */
  }
   
  3){
  pink;
  */
  relative;
  px;
  }
   
   
   
  4){
  red;
  */
  fixed;
  px;
  px;
  }
   
  */
  greenyellow;
  /*固定定位
  position: fixed;
  left: 30px;
  */
  }
   
  /*层级关系
  固定定位 > 相对定位 > 绝对定位 > 默认static
  */
   
  style>
   
  head>
  body>
 
  div>
  div>
  div>
  div>
  div>
  div>
  body>
  html>

z-index属性

<!DOCTYPE html>
  html>
 
 
  title>
   
 
  *{
  px;
  px;
  }
  li{
  none;
  }
  #content{
  px;
  px;
  red;
  auto;
  }
   
  */
  */
  0.5;
  */
  }
  */
  */
  px;
  px;
  px; ;
  px;
  }
   
  .tipText{
  */
  center;
  }
  style>
  head>
  body>
 
  ul>
  li>
  li>
  li>
  li>
  li>
  ul>
  div>
  body>
  html>

 
                    
            
                

相关文章:

  • 2021-10-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-13
  • 2021-05-14
  • 2021-12-11
相关资源
相似解决方案