html+css实战190-侧导航布局-箭头

简介: html+css实战190-侧导航布局-箭头

index.css

.banner {
    height: 500px;
    background-color: #f5f5f5;
}
.banner .wrapper {
    position: relative;
    height: 500px;
    background-color: pink;
}
/* 侧导航 */
.banner .aside {
    position: absolute;
    left: 0;
    top: 0;
    width: 250px;
    height: 500px;
    background-color: rgba(0,0,0,.8);
}
.banner .aside li {
    height: 50px;
    line-height: 50px;
}
.banner .aside a {
    position: relative;
    /* 宽度和父级一样 */
    padding-left: 36px;
    padding-right: 19px;
    display: block;
    height: 50px;
    color: #fff;
}
.banner .aside a:hover {
    background-color: #27ba9b;
}
/* a的里面最后的位置添加箭头 */
.banner .aside a::after {
    position: absolute;
    right: 19px;
    top: 19px;
    content: '';
    width: 6px;
    height: 11px;
    background-image: url(../images/sprites.png);
    background-position: -80px -110px;
}
/* 箭头 */
.next,
.prev {
    position: absolute;
    top: 228px;
    width: 45px;
    height: 45px;
    background-color: rgba(0,0,0,.2);
    background-image: url(../images/sprites.png);
    border-radius: 50%;
}
/* 背景图位置负责2件事: 改变箭头在盒子里面的位置; 改变精灵图的位置 */
/* 导致在精灵图中测量的尺寸不准确 */
/* 解决方案有2种: 
    1. 书写背景图位置属性, 借助谷歌的调试工具调试具体的位置数值
    2. 书写标签的时候, a负责盒子,里面再添加一个span负责箭头
*/
.prev {
    left: 260px;
    background-position: 14px -60px;
}
.next {
    right: 10px;
    background-position: -23px -60px;
}

运行结果

<!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>项目代码准备</title>
    <!-- 外链式样式表的生成 -->
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
    <link rel="stylesheet" href="./css/base.css">
    <link rel="stylesheet" href="./css/common.css">
    <link rel="stylesheet" href="./css/index.css">
</head>
<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="#"><span></span>手机版</a></li>
                </ul>
            </div>
        </div>
        <div class="header wrapper">
            <div class="logo">
                <h1><a href="#">小兔鲜儿</a></h1>
            </div>
            <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>
            <div class="search">
                <input type="text" placeholder="搜一搜">
                <!-- 定位 放大镜 -->
                <span></span>
            </div>
            <div class="car">
                <span>2</span>
            </div>
        </div>
 <!-- banner -->
 <div class="banner">
    <div class="wrapper">
        <!-- 有多少个图,就有都少个li -->
        <ul>
            <li>
                <a href="#"><img src="./uploads/banner_1.png" alt=""></a>
            </li>
        </ul>
        <!-- 侧导航 -->
        <div class="aside">
            <ul>
                <li><a href="#">生鲜<span>水果 蔬菜</span></a></li>
                <li><a href="#">生鲜<span>水果 蔬菜</span></a></li>
                <li><a href="#">生鲜<span>水果 蔬菜</span></a></li>
                <li><a href="#">生鲜<span>水果 蔬菜</span></a></li>
                <li><a href="#">生鲜<span>水果 蔬菜</span></a></li>
                <li><a href="#">生鲜<span>水果 蔬菜</span></a></li>
                <li><a href="#">生鲜<span>水果 蔬菜</span></a></li>
                <li><a href="#">生鲜<span>水果 蔬菜</span></a></li>
                <li><a href="#">生鲜<span>水果 蔬菜</span></a></li>
                <li><a href="#">生鲜<span>水果 蔬菜</span></a></li>
            </ul>
        </div>
        <!-- 箭头 -->
        <!-- prev: 上一个 -->
        <a href="#" class="prev"></a>
        <!-- next : 下一个 -->
        <a href="#" class="next"></a>
        <!-- 圆点: 当前状态: current / active -->
        <!-- js 找到用户点击的li 添加类名 li变成白色的 -->
        <ol>
            <li></li>
            <li></li>
            <li class="current"></li>
            <li></li>
            <li></li>
        </ol>
    </div>
</div>
        <!-- 版权区域 -->
    <div class="footer">
        <div class="wrapper">
            <div class="top">
                <ul>
                    <li>
                        <!-- 通过伪元素添加标签实现精灵图 -->
                        <span>价格亲民</span>
                    </li>
                    <li>
                        <span>物流快捷</span>
                    </li>
                    <li>
                        <span>品质新鲜</span>
                    </li>
                </ul>
            </div>
            <div class="bottom">
                <p>
                    <a href="#">关于我们</a> |
                    <a href="#">帮助中心</a> |
                    <a href="#">售后服务</a> |
                    <a href="#">配送与验收</a> |
                    <a href="#">商务合作</a> |
                    <a href="#">搜索推荐</a> |
                    <a href="#">友情链接</a>
                </p>
                <p>CopyRight @ 小兔鲜儿</p>
            </div>
        </div>
    </div>
</body>
</html>

image.png

相关文章
|
6天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
20 6
|
24天前
|
移动开发 前端开发 JavaScript
[HTML、CSS]细节与使用经验
本文总结了前端开发中的一些重要细节和技巧,包括CSS选择器、定位、层级、全局属性、滚轮控制、轮播等。作者以纯文字形式记录,便于读者使用<kbd>Ctrl + F</kbd>快速查找相关内容。文章还提供了示例代码,帮助读者更好地理解和应用这些知识点。
41 1
[HTML、CSS]细节与使用经验
|
25天前
|
移动开发 前端开发 JavaScript
[HTML、CSS]知识点
本文涵盖前端知识点扩展、HTML标签(如video、input、canvas)、datalist和details标签的使用方法,以及CSS布局技巧(如margin、overflow: hidden和动态height)。文章旨在分享作者的学习经验和实用技巧。
30 1
[HTML、CSS]知识点
|
20天前
|
移动开发 JavaScript 前端开发
html table+css实现可编辑表格的示例代码
html table+css实现可编辑表格的示例代码
|
20天前
|
容器
HTML中使用Flex布局实现双行夹批效果
在HTML中,还可以用table元素来实现双行夹批效果,但比flex布局代码更复杂,效果也不见得更理想。
|
16天前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
72 1
|
21天前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
35 3
|
28天前
|
前端开发 搜索推荐
HTML 布局3
HTML 布局技巧:使用外部 CSS 样式表可提高站点维护效率,只需编辑一个文件即可更改所有页面布局。创建高级布局耗时,使用模板是快速选项,可通过搜索引擎找到许多免费模板。常用布局标签:`&lt;div&gt;` 定义块级区域,`&lt;span&gt;` 组合行内元素。
|
28天前
|
前端开发
HTML 布局2
使用 HTML `&lt;table&gt;` 标签是一种简单的布局方式,适用于创建多列结构。尽管可以使用表格来设计美观的布局,但其初衷是展示表格化数据,而非作为布局工具。以下示例展示了如何使用三行两列的表格布局,第一行和最后一行使用 `colspan` 属性横跨两列。