HTML CSS第十次笔记

97 阅读5分钟

1.案例——轮播图

1.1 javascript

作用:点击,不需要跳转页面,但又需要交互效果的,使用 'javascript:;'

<a href="javascript:;" class="next">

1.2 position: absolute;

作用:使用posistion:absolute,就不用再写‘display: block’来将行内元素转为块级元素,因为:display:block加了绝对定位,就具备行内快的特性

1.3 transform

transform: translate(x, y): transform: translate(0, -50%);
或者想省略x轴的书写,可写作:
transform: translateY(y): transform: translateY(-50%);

1.4 半透明图标

image.png

image.png

1.5 提高代码复用性(使用并级选择器)

左按钮与右按钮多行代码重复,为提高代码复用性,则将公共部分抽取出来

image.png

1.6 显示与隐藏

显示: display:block(既能转化成块级元素,又能将其显示出来)//也可写作:display:inlineblock
隐藏: display:none(不占位置)

image.png

1.6.1 隐藏1(display:none)(开发常用)

位置不会保留,后一个盒子会占据前一个盒子的位置

image.png

1.6.1 隐藏1(visibility:hidden)

位置会保留,后一个盒子不会占据前一个盒子的位置(开发不常用)

image.png

2 案例——小兔鲜儿

2.1 创建项目目录+引入初始文件

目录: image.png

image.png 引入初始化文件 image.png

2.2 SEO 三大标签(重点、不难)

image.png

 <!-- T、D、K(利于搜索引擎优化) -->
  <title>小兔鲜-新鲜、惠民、快捷</title>
  <meta name="description" content="小兔鲜官网,致力于打造全球最大的食品、生鲜电商购物平台">
  <meta name="keywords" content="小兔鲜,食品,生鲜,服装,家电,电商,购物">

2.3 Favicon 图标(重点、不难)

Favicon一般放置根目录下

 <!-- 引入favicon小图标 -->
  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">

结果:

image.png

2.4 公共样式和变量

2.4.1 公共样式

作用 :减少代码量,相同的代码写在公共的css中(即:common.css)

image.png 在html中引入公共样式文件(common.css) image.png

2.4.2 CSS变量

声明: 声明一个自定义属性,属性名需要两个减号(--)开始,属性值则可以是任何有效的CSS值

image.png

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSS变量</title>
  <style>
    /* 声明变量 */
    :root {
      --myColor: red;
    }

    /* 使用变量 */
    .box {
      color: var(--myColor);
    }
  </style>
</head>

<body>
  <div class="box">文字</div>
</body>

</html>

结果:

image.png

2.5 顶部

2.5.1 定部导航

/* 顶部快捷导航栏 */
.shortcut {
  height: 52px;
  background-color: #333;
  /* line-height: 31px; */
}

.shortcut .wrapper {
  line-height: 52px;
  background-color: pink;
  display: flex;
  /* 让这个盒子里的元素都靠右对齐(靠左则是justify-content: flex-start) */
  justify-content: flex-end;
}

image.png

2.5.2 快捷导航链接制作

/* 设置li的边距以及给每个li设置竖线 */
.shortcut .wrapper ul li a {
  font-size: 14px;
  color: #fff;
  /* 设置内边距 */
  padding: 0 15px;
  border-right: 1px solid #999;
}

/* 但是将最后一个li的竖线去掉 */
.shortcut .wrapper ul li:last-child a {
  border-right: 0;
}

结果:

image.png

2.5.3 鼠标经过时,链接变色为'2.4.2'中的颜色

image.png 结果:

image.png

2.5.3 在‘手机版’前显示手机字体

image.png 2.使用文件中已下载的字体代码 image.png 3.设置手机图形字体的样式(重点)

image.png 结果: image.png

2.6 头部模块

2.6.1 logo盒子

<body>
  <!-- 头部开始 -->
  <!-- 快捷导航栏 -->
  <div class="shortcut">
    <div class="wrapper">
      <ul>
        <li><a href="#">请先登录</a></li>
        <li><a href="#">免费注册</a></li>
        <li><a href="#">我的订单</a></li>
        <li><a href="#">会员中心</a></li>
        <li><a href="#">帮助中心</a></li>
        <li><a href="#">在线客服</a></li>
        <li><a href="#">
            <i class="iconfont icon-mobile-phone"></i>手机版
          </a></li>
      </ul>
    </div>
  </div>
  <!-- 头部结束 -->

  <div class="header wrapper">
    <!-- logo盒子 -->
    <div class="logo">
      <!-- 为了提高网站点击率 -->
      <h1><a href="./index.html" title="小兔鲜儿">小兔鲜儿</a></h1>
    </div>

  </div>
</body>
.header .logo a {
  display: block;
  /* width: 100%;? */
  /* 因为转换成了块级元素,所以可以只设置宽度 */
  height: 88px;
  background: url(../images/logo.png);
  /* 第一种隐藏文字的方法*/
  font-size: 0;
  
  /* 第二种隐藏文字的方法(淘宝、小米做法)*/
  正值就是往右走,负值就是往左走
  text-indent:-999999em
  /*保险起见,第二种方法在文字出盒子后,还会隐藏文字*/
  overflow:hideen
  
}

结果:

image.png

2.6.2 导航nav部分

制作网页导航统一:nav>ul>li>a

<div class="nav">
      <ul>
        <li><a href="#">首页</a></li>
        <li><a href="#">首页</a></li>
        <li><a href="#">首页</a></li>
        <li><a href="#">首页</a></li>
        <li><a href="#">首页</a></li>
        <li><a href="#">首页</a></li>
        <li><a href="#">首页</a></li>
        <li><a href="#">首页</a></li>
        <li><a href="#">首页</a></li>
      </ul>
    </div>
/* nav */
.header .nav ul {
  display: flex;
  /* background-color: pink; */
  /* 上右下左 */
  margin: 26px 0 0 41px;
}



.header .nav ul li a {
  display: block;
  line-height: 42px;
  margin-right: 47px;

}

/* 鼠标经过样式 */
.header .nav ul li a:hover {
  color: var(--lv);
  /* 设置下划线颜色 */
  border-bottom: 2px solid var(--lv);

}

结果:

image.png

2.6.3 search搜索模块

.search {
  position: relative;
  width: 220px;
  height: 40px;
  /* background-color: pink; */
  margin-top: 22px;
}

.search i {
/*给i加绝对定位,因为i和input是兄弟关系,所以给i加绝对定位后,i就不占位置,在设定好父盒子search大小的前提下,点击input将其变长,也不会让i和input的位置发生变化(层级)/*
  position: absolute;
  left: 0;
  top: 5px;
  font-size: 20px;
  color: #ccc;
  /* 鼠标变成小手 */
  cursor: pointer;
}

.search input {

  width: 170px;
  height: 40px;
  /* 通过调整内边距,调整字体的位置 */
  padding-left: 20px;
  /* 底部的灰色边框 */
  border-bottom: 2px solid #F4F4F4;
  /* 点击时input输入框长度变化加过渡 */
  transition: all .3s;
}

/* 修改placeholder里面的文字样式 */
.search input ::placeholder {
  color: #ccc;
}

/* input获得光标  长度就变为宽220px*/
.search input:focus {
  width: 220px;
}
<!-- search -->
    <div class="search">
      <i class="iconfont icon-search"></i>
      <input type="text" placeholder="请输入搜索内容"></input>
    </div>

结果:
1.实现了点击搜索框,搜索框变长(使用transition过渡)
2.实现了鼠标移动至‘搜索’字体图像,变为小手
3.使用‘.search input ::placeholder’将内部文字样式修改

image.png

2.7 购物车模块

 <!-- car -->
    <div class="car">
      <i class="iconfont icon-cart-full"></i>
      <span>2</span>
    </div>
/* car */
.car {
  position: relative;
  margin-top: 18px;
}
/*购物车图标大小*/
.car i {
  font-size: 36px;

}

/*购物车物品数量*/
.car span {
  position: absolute;
  top: 0;
  left: 22px;
  padding: 0 8px;
  background-color: #E26237;
  color: #fff;
  border-radius: 11px;
}

结果:

image.png