跟着pink老师前端入门教程-day08

二十一、案例前期铺垫

21.1 CSS属性书写顺序(重点)

建议遵循以下顺序:

1. 布局定位属性:display / position / float / clear / visibility / overflow(建议 display 第一个写,毕竟关系到模式)

2. 自身属性:width / height / margin / padding / border / background

3. 文本属性:color / font / text-decoration / text-align / vertical-align / white- space / break-word

4. 其他属性(CSS3):content / cursor / border-radius / box-shadow / text-shadow / background:linear-gradient …

<style>jdc {/* 布局 */display: block;position: relative;float: left;/* 自身 */width: 100px;height: 100px;margin: 0 10px;padding: 20px 0;/* 文本 */font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;color: #333;/* 其他 */background: rgba(0,0,0,.5);border-radius: 10px;}
</style>

21.2 页面布局整体思路

为了提高网页制作的效率,布局时通常有以下的整体思路:

1. 必须确定页面的版心(可视区),我们测量可得知。

2. 分析页面中的行模块,以及每个行模块中的列模块。其实页面布局第一准则.

3. 一行中的列模块经常浮动布局, 先确定每个列的大小,之后确定列的位置. 页面布局第二准则

4. 制作 HTML 结构。我们还是遵循,先有结构,后有样式的原则。结构永远最重要.

5. 所以, 先理清楚布局结构,再写代码尤为重要. 这需要我们多写多积累

09-页面布局整体思路_哔哩哔哩_bilibili

21.3 确定版心

这个页面的版心是1200px,每个版心都要水平居中对齐,可以定义为版心为公共类:

<style>.w {width: 1200px;margin: auto;}
</style>

21.4 头部制作

导航栏注意点:

实际开发中,我们不会直接用链接a 而是用 li 包含链接(li+a)的做法

1. li+a 语义更清晰,一看这就是有条理的列表型内容。

2. 如果直接用a,搜索引擎容易辨别为有堆砌关键字嫌疑(故意堆砌关键字容易被搜索引擎有降权的风险), 从而影响网站排名

注意:

1. 让导航栏一行显示, 给 li 加浮动, 因为 li 是块级元素, 需要一行显示.

2. 这个nav导航栏可以不给宽度,将来可以继续添加其余文字

3. 因为导航栏里面文字不一样多,所以最好给链接 a 左右padding 撑开盒子,而不是指定宽度

学成在线案例

html部分

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>学成在线</title><link rel="stylesheet" href="./styles.css">
</head><body><!-- 头部 --><div class="header"><div class="box"><div class="logo"></div><div class="nav"><ul><li><a href="#">首页</a></li><li><a href="#">课程</a></li><li><a href="#">职业规划</a></li></ul></div><div class="search"><input type="text" value="输入关键字"><button></button></div><div class="user"><img src="./images/user.png" alt="">qq-leishui</div></div></div><!-- banner --><div class="banner"><!-- 版心 --><div class="w"><!-- 侧导航栏 --><div class="subnav"><ul><li><a href="#">前端开发 <span> &gt;</span></a></li><li><a href="#">后端开发<span> &gt;</span></a></li><li><a href="#">移动开发<span> &gt;</span></a></li><li><a href="#">人工智能<span> &gt;</span></a></li><li><a href="#">商业预测<span> &gt;</span></a></li><li><a href="#">云计算&大数据<span> &gt;</span></a></li><li><a href="#">运维&测试<span> &gt;</span></a></li><li><a href="#">UI设计<span> &gt;</span></a></li><li><a href="#">产品<span> &gt;</span></a></li></ul></div><!-- 课程 --><div class="course"><h2>我的课程表</h2><div class="bd"><ul><li><h4>继续学习 程序语义设计</h4><span>正在学习-使用对象</span></li><li><h4>继续学习 程序语义设计</h4><span>正在学习-使用对象</span></li><li><h4>继续学习 程序语义设计</h4><span>正在学习-使用对象</span></li></ul><a href="#" class="all">全部课程</a></div></div></div></div><!-- 精品推荐 --><div class="goods w"><h3>精品推荐</h3><ul><li><a href="">jQuery</a></li><li><a href="">jQuery</a></li><li><a href="">jQuery</a></li><li><a href="">jQuery</a></li><li><a href="">jQuery</a></li></ul><a href="#" class="mod">修改兴趣</a></div><!-- 精品推荐大模块  --><div class="box w"><div class="box-hd"><h3>精品推荐</h3><a href="#">查看全部</a></div><div class="box-bd"><ul><li><img src="./images/pic.png" alt=""><h4>Think PHP 5.0 博客系统实战项目演练</h4><div class="info"><span>高级</span> • 1125人在学习</div></li><li><img src="./images/pic.png" alt=""><h4>Think PHP 5.0 博客系统实战项目演练</h4><div class="info"><span>高级</span> • 1125人在学习</div></li><li><img src="./images/pic.png" alt=""><h4>Think PHP 5.0 博客系统实战项目演练</h4><div class="info"><span>高级</span> • 1125人在学习</div></li><li><img src="./images/pic.png" alt=""><h4>Think PHP 5.0 博客系统实战项目演练</h4><div class="info"><span>高级</span> • 1125人在学习</div></li><li><img src="./images/pic.png" alt=""><h4>Think PHP 5.0 博客系统实战项目演练</h4><div class="info"><span>高级</span> • 1125人在学习</div></li><li><img src="./images/pic.png" alt=""><h4>Think PHP 5.0 博客系统实战项目演练</h4><div class="info"><span>高级</span> • 1125人在学习</div></li><li><img src="./images/pic.png" alt=""><h4>Think PHP 5.0 博客系统实战项目演练</h4><div class="info"><span>高级</span> • 1125人在学习</div></li><li><img src="./images/pic.png" alt=""><h4>Think PHP 5.0 博客系统实战项目演练</h4><div class="info"><span>高级</span> • 1125人在学习</div></li><li><img src="./images/pic.png" alt=""><h4>Think PHP 5.0 博客系统实战项目演练</h4><div class="info"><span>高级</span> • 1125人在学习</div></li><li><img src="./images/pic.png" alt=""><h4>Think PHP 5.0 博客系统实战项目演练</h4><div class="info"><span>高级</span> • 1125人在学习</div></li></ul></div></div><!-- 底部 --><div class="footer"><div class="w"><div class="copyright"><img src="./images/logo.png" alt=""><p>学成在线致力于普及中国最好的教育它与中国一流大学和机构合作提供在线课程。<br>© 2017年XTCG Inc.保留所有权利。-沪ICP备15025210号</p><a href="#" class="app">下载APP</a></div><div class="links"><dl><dt>关于学成网</dt><dd><a href="#">关于</a></dd><dd><a href="#">管理团队</a></dd><dd><a href="#">工作机会</a></dd><dd><a href="#">客户服务</a></dd><dd><a href="#">帮助</a></dd></dl><dl><dt>关于学成网</dt><dd><a href="#">关于</a></dd><dd><a href="#">管理团队</a></dd><dd><a href="#">工作机会</a></dd><dd><a href="#">客户服务</a></dd><dd><a href="#">帮助</a></dd></dl><dl><dt>关于学成网</dt><dd><a href="#">关于</a></dd><dd><a href="#">管理团队</a></dd><dd><a href="#">工作机会</a></dd><dd><a href="#">客户服务</a></dd><dd><a href="#">帮助</a></dd></dl></div></div></div>
</body></html>

CSS部分

* {margin: 0;padding: 0;list-style: none;
}body {background-color: #edebeb;/* height: 3000px; */
}a {text-decoration: none;
}.header {width: 1200px;margin: auto;/* background-color: #000; *//* border: 1px solid #000; */
}.box {height: 42px;/* background-color: rgb(150, 184, 214); */margin: 30px auto;
}.logo {float: left;width: 198px;height: 42px;background-image: url(./images/logo.png);
}/* 导航栏*/
.nav {float: left;margin-left: 60px;
}/*块级元素*/
.nav li {float: left;margin-left: 15px;
}/*行内元素*/
.nav ul li a {display: block;height: 42px;padding: 0 10px;text-decoration: none;color: #010404;
}.nav ul li a:hover {border-bottom: 2px solid #00a4ff;color: #00a4ff;
}/* 搜索框*/
.search {float: left;margin-left: 70px;width: 412px;height: 42px;
}/*边框会撑开高度*/
.search input {float: left;width: 345px;/*360-15=345*/height: 40px;border: 1px solid #00a4ff;border-right: 0;color: #bfbfbf;font-size: 14px;padding-left: 15px;
}/* 两个行内块之间有默认空隙 解决方法:两个行内块都加浮动*/
/* 按钮有默认边框,需要去掉*/
.search button {float: left;width: 50px;height: 42px;background-image: url(./images/btn.png);border: 0;
}/* 人像*/
.user {float: right;margin-right: 30px;font-size: 14px;color: #666;
}/* 头部结束*/
/* 测导航栏 */
.banner {height: 421px;background-color: #1c036c;
}.banner .w {height: 421px;background: url(./images/banner2.png) no-repeat top center;
}.w .subnav {float: left;/* margin-left: 260px; */width: 190px;height: 421px;background: rgb(0, 0, 0, .3);
}.subnav ul li {height: 45px;line-height: 45px;padding: 0 20px;
}.subnav ul li a {text-decoration: none;color: white;
}.subnav ul li a span {float: right;
}.subnav ul li a:hover {color: #00a4ff;
}.course {float: right;/* 浮动的盒子不会有外边距合并的问题*/margin-top: 50px;width: 230px;height: 320px;background-color: white;
}.course h2 {height: 48px;color: white;background-color: #7ba7ea;line-height: 48px;font-size: 18px;text-align: center;
}.bd {padding: 0 20px;
}.course li {padding: 15px 0;border-bottom: 1px solid #a5a5a5;
}.course h4 {font-size: 16px;color: #4e4e4e;
}.course span {font-size: 1cpx;color: #a5a5a5;
}.course .all {display: block;text-decoration: none;height: 38px;border: 1px solid #00acff;margin-top: 5px;text-align: center;line-height: 38px;color: #00a4ff;font-size: 16px;font-weight: 400;}/* 侧导航栏结束 */
/* 精品推荐 */
.goods {height: 60px;line-height: 60px;background-color: #fff;margin-top: 10px;box-shadow: 0 2px 3px 3px rgb(0, 0, 0, .1);
}.goods h3 {float: left;margin-left: 30px;font-size: 16px;color: #00a4ff;
}.goods ul {float: left;margin-left: 30px;
}.goods ul li {float: left;
}.goods ul li a {font-size: 16px;color: #010404;padding: 0 30px;border-left: 1px solid #a5a5a5;
}.mod {float: right;margin-right: 30px;font-size: 14px;color: #00a4ff;
}/* 精品推荐结束 */
/* 精品推荐大模块 */
.box {margin-top: 30px;
}.box-hd {height: 45px;
}.box-hd h3 {float: left;font-size: 20px;color: #494949;
}.box-hd a {float: right;font-size: 12px;color: #a5a5a5;margin-top: 10px;margin-right: 30px;
}/* 只要li的父级更宽,就不用担心会换行*/
.box-bd ul {width: 1225px;margin: 0 auto;
}.box-bd ul li {float: left;width: 230px;height: 270px;background-color: #fff;margin-right: 15px;margin-bottom: 15px;
}.box-bd ul li img {width: 100%;
}.box-bd ul li h4 {margin: 20px 20px 20px 25px;font-size: 16px;color: #050505;font-weight: 400;}.box-bd ul li .info {margin: 0 20px 0 25px;font-size: 12px;color: #999;
}.info span {color: #ff7426;
}/* 精品推荐大模块结束 */
/* 底部 */.footer {height: 415px;/* 需要清除浮动,但是我的软件不兼容,只能设置外边距 */margin-top: 570px;background-color: white;
}.footer .w {padding-top: 35px;
}/* 左侧 */
.copyright {float: left;
}.copyright p {font-size: 12px;color: #666;margin: 20px 0 15px 0;
}.copyright .app {display: block;width: 118px;height: 33px;border: 1px solid #00a4ff;text-align: center;line-height: 33px;color: #00a4ff;
}/* 右侧 */
.links {float: right;
}.links dl {float: left;margin-left: 100px;
}.links dl dt {font-size: 16px;color: #333;margin-bottom: 5px;
}.links dl dd a {font-size: 14px;color: #333;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UI -- React

React 模板 React UI package.json同级components/slButton/element.jsx import React from react;const el ({ text, onClick }) > {return (<button onClick{onClick}>{text}</button>); };export default el;components/function.js export const ceshi…

LLM之RAG实战(十九)| 利用LangChain、OpenAI、ChromaDB和Streamlit构建RAG

生成式人工智能以其创造与上下文相关内容的能力彻底改变了技术&#xff0c;开创了人工智能可能性的新时代。其核心是检索增强生成&#xff08;RAG&#xff09;&#xff0c;将信息检索与LLM相结合&#xff0c;从外部文档中产生智能、知情的响应。 本文将深入研究使用ChromaDB构建…

阿里云GPU服务器ECS实例规格详细说明

阿里云GPU服务器提供GPU加速计算能力&#xff0c;GPU卡支持A100、V100、T4、P4、P100、A10等&#xff0c;NVIDIA V100&#xff0c;GPU实例规格是什么意思&#xff1f;如搭载NVIDIA V100的ecs.gn6v-c8g1.2xlarge、A10卡ecs.gn7i-c32g1.8xlarge、T4卡ecs.gn6i-c4g1.xlarge、P4卡e…

AndroidStudio

一 安卓开发环境搭建 1.1 环境介绍 # 做安卓开发&#xff0c;需要会 Java 开发&#xff0c;需要安卓 SDK &#xff0c;需要一款编辑器&#xff0c;需要软件测试环境 ( 真机&#xff0c;虚拟机 ) # 早期开发安卓 app &#xff0c;需要使用 eclipse 安卓 SDK &#xff0c;自…

三.Winform使用Webview2加载本地HTML页面

Winform使用Webview2加载本地HTML页面 往期目录创建Demo2界面创建HTML页面在Demo2窗体上添加WebView2和按钮加载HTML查看效果 往期目录 往期相关文章目录 专栏目录 创建Demo2界面 经过前面两小节 一.Winform使用Webview2(Edge浏览器核心) 创建demo(Demo1)实现回车导航到指定…

三国游戏(第十四届蓝桥杯)

题目 小蓝正在玩一款游戏。游戏中魏蜀吴三个国家各自拥有一定数量的士兵 X,Y,Z&#xff08;一开始可以认为都为 0&#xff09;。 游戏有 n个可能会发生的事件&#xff0c;每个事件之间相互独立且最多只会发生一次&#xff0c;当第 i个事件发生时会分别让 X,Y,Z 增加 A i , B…

广和通AI解决方案“智”赋室外机器人迈向新天地!

大模型趋势下&#xff0c;行业机器人将具备更完善的交互与自主能力&#xff0c;逐步迈向AI 2.0时代&#xff0c;成为人工智能技术全面爆发的重要基础。随着行业智能化&#xff0c;更多机器人应用将从“室内”走向“室外”&#xff0c;承担更多高风险、高智能工作。复杂的室外环…

Java基本概念(新手入门)

目录 软件安装&#xff1a;Java初学者软件安装与idea快捷键-CSDN博客 第一节 1.java与C语言的区别 2.jdk&#xff0c;jre&#xff0c;jvm是什么&#xff0c;他们之间的关系 3. java的包package 4.Java的注释 5.第一个程序讲解与基础语法 6.一带而过 java入门第一节__…

方便又好用,必须吹爆这几个良心工具!

生成式人工智能已经彻底改变了各个行业。尽管使用的都是相同的大模型&#xff0c;但有的能让明星表演出“科目三”&#xff0c;而有的则能将真人变成动漫主角。 那么&#xff0c;让我们回到开发人员的视角来看&#xff0c;GenAI对日常工作会有哪些影响呢&#xff1f;虽然我们向…

代码随想录二刷 | 二叉树 | 把二叉搜索树转换为累加树

代码随想录二刷 &#xff5c; 二叉树 &#xff5c; 把二叉搜索树转换为累加树 题目描述解题思路递归法迭代法 代码实现递归法迭代法 题目描述 538.把二叉搜索树转换为累加树 给出二叉 搜索 树的根节点&#xff0c;该树的节点值各不相同&#xff0c;请你将其转换为累加树&…

分布式 session

分布式 session 种 session 的时候需要注意范围&#xff0c;也就是 cookie.domain。 比如两个域名&#xff1a;a.heo.com&#xff0c;b.heo.com。如果要共享 cookie&#xff0c;可以种一个更高层的公共域名&#xff0c;比如 heo.com。 当服务器 A &#xff08;localhost:808…

基于ECS服务器搭建FTP服务

vsftpd&#xff08;very secure FTP daemon&#xff09;是一款在Linux发行版中最受推崇的FTP服务器。vsftpd支持匿名访问和本地用户模式两种访问方式。匿名访问方式任何用户都可以访问搭建的FTP服务&#xff1b;本地用户模式只支持添加的本地用户访问搭建的FTP服务。 说明: 匿…

前端实现贪吃蛇功能

大家都玩过贪吃蛇小游戏&#xff0c;控制一条蛇去吃食物&#xff0c;然后蛇在吃到食物后会变大。本篇博客将会实现贪吃蛇小游戏的功能。 1.实现效果 2.整体布局 /*** 游戏区域样式*/ const gameBoardStyle {gridTemplateColumns: repeat(${width}, 1fr),gridTemplateRows: re…

新买电脑配置不低却卡顿?

目录 前言&#xff1a; 电脑卡顿的原因 Windows 10必做的系统优化 禁用 IP Helper 关闭系统通知 机械硬盘开启优化驱动器功能 开启存储感知 前言&#xff1a; 新买的电脑配置不低&#xff0c;但却卡顿甚至程序不反应&#xff0c;这是怎么回事儿&#xff1f; 其实并不…

代码随想录day32 贪心算法训练

122.买卖股票的最佳时机 II 题目 给定一个数组&#xff0c;它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票&#xff09;。 注意&#xff1a;你不能同时参与多笔交易&a…

Java中泛型的详细介绍

引言&#xff1a; Java语言中的泛型是一种强大的特性&#xff0c;它允许我们在编写代码时指定类、接口和方法的参数类型。通过使用泛型&#xff0c;我们可以提高代码的重用性、可读性和安全性。在本博客中&#xff0c;我们将详细介绍Java中泛型的知识。 一、泛型的基本概念 泛型…

《Linux C编程实战》笔记:Linux信号介绍

信号是一种软件中断&#xff0c;它提供了处理一种异步事件的方法&#xff0c;也是进程惟一的异步通信方式。在Linux系统中&#xff0c;根据POSIX标准扩展的信号机制&#xff0c;不仅可以用来通知某进程发生了什么事&#xff0c;还可以给进程传递数据。 信号的来源 信号的来源…

信号处理专题设计-基于边缘检测的数字图像分类识别

目录 一、实验目的 二、实验要求 三、实验原理 1.卷积神经网络&#xff08;CNN&#xff09;模型 2.边缘检测 3.形态学操作 4.鲁棒性 四、实验过程 1.数据预处理 2. 网络的构建 3.模型的训练 4.边缘检测和形态学操作相关代码 5.模型训练结果 6.关键信息的保存 五、实验测试与评估…

【LeetCode】150. 逆波兰表达式求值(中等)——代码随想录算法训练营Day11

题目链接&#xff1a;150. 逆波兰表达式求值 题目描述 给你一个字符串数组 tokens &#xff0c;表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意&#xff1a; 有效的算符为 、-、* 和 / 。每个操作数&#xff08;运算…

竞赛保研 机器视觉人体跌倒检测系统 - opencv python

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 机器视觉人体跌倒检测系统 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&…