Web前端—网页制作(以“学成在线”为例)

news2024/11/27 17:44:26

版本说明

当前版本号[20231105]。

版本修改说明
20231105初版

目录

文章目录

  • 版本说明
  • 目录
  • day07-学成在线
    • 01-项目目录
    • 02-版心居中
    • 03-布局思路
    • 04-header区域-整体布局
      • HTML结构
      • CSS样式
    • 05-header区域-logo
    • 06-header区域-导航
      • HTML结构
      • CSS样式
    • 07-header区域-搜索布局
      • HTML结构
      • CSS样式
    • 08-header区域-搜索内容
      • HTML结构
      • CSS样式
    • 09-header区域-用户区域
      • HTML结构
      • CSS样式
    • 10-banner区域-布局
      • HTML结构
      • CSS样式
    • 11-banner区域-侧导航
      • HTML结构
      • CSS样式
    • 12-banner区域-课程表布局
      • HTML布局
      • CSS样式
    • 13-banner区域-课程表内容
      • HTML结构
      • CSS样式
    • 14-banner区域-全部课程
      • HTML结构
      • CSS样式
    • 15-精品推荐-区域布局
      • HTML结构
      • CSS样式
    • 16-精品推荐-内容样式
      • HTML结构
      • CSS样式
    • 17-推荐课程-标题区域
      • HTML结构
      • CSS样式
    • 18-推荐课程-内容布局
      • HTML结构
      • CSS样式
    • 19-推荐课程-内容样式
      • HTML结构
      • CSS样式
    • 20-前端开发工程师区域
      • HTML结构
      • CSS样式
    • 21-版权-布局
      • HTML结构
      • CSS样式
    • 22-版权-内容
      • HTML结构
      • CSS样式

day07-学成在线

01-项目目录

网站根目录是指存放网站的第一层文件夹,内部包含当前网站的所有素材,包含 HTML、CSS、图片、JavaScript等等。

1680336645218

  • 首页引入CSS文件
<!-- 顺序要求:先清除再设置 -->
<link rel="stylesheet" href="./css/base.css">
<link rel="stylesheet" href="./css/index.css">

02-版心居中

1680336711608

.wrapper {
  margin: 0 auto;
  width: 1200px;
}
<body>
		<div class="wrapper">1</div>
</body>

image-20231024095614698

03-布局思路

  1. 布局思路:先整体再局部,从外到内,从上到下,从左到右
  2. CSS 实现思路
    1. 画盒子,调整盒子范围 → 宽高背景色
    2. 调整盒子位置 → flex 布局、内外边距
    3. 控制图片、文字内容样式

04-header区域-整体布局

1680337054328

HTML结构

<!-- 头部区域 -->
<div class="header">
  <div class="wrapper">
    <!-- logo -->
    <div class="logo">logo</div>
    <!-- 导航 -->
    <div class="nav">导航</div>
    <!-- 搜索 -->
    <div class="search">search</div>
    <!-- 用户 -->
    <div class="user">用户</div>
  </div>
</div>

CSS样式

/* 头部区域 */
.header {
  height: 100px;
  background-color: #fff;
}

.header .wrapper {
  padding-top: 29px;
  display: flex;
}

image-20231025110003943

05-header区域-logo

1680337229070

logo 功能:

  • 单击跳转到首页
  • 搜索引擎优化:提升网站百度搜索排名

实现方法:

  • 标签结构:h1 > a > 网站名称(搜索关键字)
<div class="logo">
  <h1><a href="#">学成在线</a></h1>
</div>
  • CSS 样式
/* logo */
.logo a {
  display: block;
  width: 195px;
  height: 41px;
  background-image: url(../images/logo.png);
  font-size: 0;
}

如没去掉文字,内容为:

image-20231025110727951

加入 font-size: 0;后:

image-20231025110817993

06-header区域-导航

实现方法:

  • 标签结构:ul > li * 3 > a
  • 优势:避免堆砌 a 标签网站搜索排名降级

1680337390943

HTML结构

<ul>
  <li><a href="#" class="active">首页</a></li>
  <li><a href="#">课程</a></li>
  <li><a href="#">职业规划</a></li>
</ul>

CSS样式

/* 导航 */
.nav {
  margin-left: 102px;
}

.nav ul {
  display: flex;
}

.nav li {
  margin-right: 24px;
}

.nav li a {
  display: block;
  padding: 6px 8px;
  line-height: 27px;
  font-size: 19px;
}


/* actvie 类选择器,表示默认选中的a */
.nav li .active,
.nav li a:hover {
  border-bottom: 2px solid #00a4ff;
}

示例:

1、三个li标签要在一行,并且logo与字要有边距,是用的是display: flex;

image-20231025112536299

image-20231025113045905

2、改变字大小,间隔。

image-20231025114108736

3,为“首页”添加下划蓝线,而“课程”、“职业规划”当使用鼠标贴在字上也可以显示蓝线。

image-20231025114203925

07-header区域-搜索布局

1680337525496

HTML结构

<div class="search"></div>

CSS样式

.search {
  display: flex;
  margin-left: 64px;
  padding-left: 19px;
  padding-right: 12px;
  width: 412px;
  height: 40px;
  background-color: #f3f5f7;
  border-radius: 20px;
}

1、可以分步编写,先把输入框与“用户”输出出来,后续再调整位置。

/* 搜索 */
.search{
	margin-left: 64px;
	padding-left: 19px;
	padding-right: 12px;
	width: 412px;
	height: 48px;
	background-color: #f3f5f7;
	border-radius: 20px;
}

image-20231025114923440

2、设置好焦点框的透明和提醒的文字。

image-20231025115734663

08-header区域-搜索内容

HTML结构

<!-- 搜索 -->
<div class="search">
	<input type="text" placeholder="请输入你查询的内容">
	<a href="#"></a>
</div>

CSS样式

.search input {
   flex: 1;
   border: 0;
   background-color: transparent;
   /* 去掉表单控件的焦点框 */
   outline: none;
}

/* ::placeholder 选中就是 placeholder 属性文字样式*/
.search input::placeholder {
  font-size: 14px;
  color: #999;
}

/* 父级是flex布局,子级变弹性盒子:加宽高生效 */
.search a {
  align-self: center;
  width: 16px;
  height: 16px;
  background-image: url(../images/search.png);
}

image-20231026113209455

09-header区域-用户区域

1680337703358

HTML结构

<!-- 用户 -->
<div class="user">
	<a href="#">
		<img src="./uploads/user.png" alt="">
		<span>波仔学前端</span>
	</a>
</div>

CSS样式

/* 用户 */
.user {
  margin-left: 32px;
  margin-top: 4px;
}

.user img {
  margin-right: 7px;
  /* vertical-align 行内块和行内垂直方向对齐方式 */
  vertical-align: middle;
}

.user span {
  font-size: 16px;
  color: #666;
}

1、设置水平和垂直间距。

/* 用户 */
.user{
	margin-left: 32px;
	margin-top: 4px;
}

image-20231026113118554

2、设置元素的垂直对齐方式为居中

.user img{
	vertical-align: middle;
}

image-20231026113502613

3、最后完善代码,将用户的文本信息以灰色字体显示在头像下方。

.user img{
	/* vertical-align 行内块和行内垂直方向对齐方式 */
	vertical-align: middle;
}

.user span{
	font-size: 16px;
	color: #666;
}

image-20231026113732829

10-banner区域-布局

1680337778559

HTML结构

<div class="banner">
  <div class="wrapper">
    <div class="left">left</div>
    <div class="right">right</div>
  </div>
</div>

CSS样式

/* banner 区域 */
.banner {
  height: 420px;
  background-color: #0092cb;
}

.banner .wrapper {
  display: flex;
  justify-content: space-between;
  height: 420px;
  background-image: url(../uploads/banner.png);
}

1、先加蓝色底色。

/* banner */
.banner{
	height: 420px;
	background-color: #0092cb;
}

/* 版心 */
.wrapper{
	margin: 0 auto;
	width: 1200px;
}
	<body>
		<!-- banner区域  -->
		<div class="banner">
			<div class="wrapper"></div>
		</div>
	</body>

image-20231026114404349

2、通栏里面套版心。

.banner .wrapper{
	height: 420px;
	background-image: url(../uploads/banner.png);
}

image-20231026114609831

3、给两个侧边栏设left和right,腾出位置。

.banner .wrapper{
	display: flex;
	height: 420px;
	background-image: url(../uploads/banner.png);
}

image-20231026115123275

4、设置水平间距为等分空间。

.banner .wrapper{
	display: flex;
	justify-content: space-between;/*在弹性布局容器中,子元素之间的水平间距为等分空间。*/
	height: 420px;
	background-image: url(../uploads/banner.png);
}

image-20231026115300660

11-banner区域-侧导航

HTML结构

<div class="left">
  <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="#">UI设计</a></li>
    <li><a href="#">产品</a></li>
  </ul>
</div>

CSS样式

/* 侧导航 */
.banner .left {
  padding: 3px 20px;
  width: 191px;
  height: 420px;
  background-color: rgba(0,0,0,0.42);
}

.banner .left a {
  /* 块级:宽度是父级的100% */
  display: block;
  height: 46px;
  background: url(../images/right.png) no-repeat right center;
  line-height: 46px;
  font-size: 16px;
  color: #fff;
}

.banner .left a:hover {
  background-image: url(../images/right-hover.png);
  color: #00a4ff;
}

1、设置该元素的背景颜色为半透明的黑色。

.banner .left{
	width: 191px;
	height: 420px;
	background-color: rgba(0, 0, 0, 0.42);
}

image-20231026140828530

2、由于我们想要的样式并不是在左上角,而是分几行,且居中。

<!-- banner区域  -->
		<div class="banner">
			<div class="wrapper">
				<div class="left">
				<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>
				</ul>
				</div>
				<div class="right">right</div>
			</div>
		</div>
.banner .left{
	padding: 3px 20px;
	width: 191px;
	height: 420px;
	background-color: rgba(0, 0, 0, 0.42);
}

image-20231026141257472

3、拉长边距。

.banner .left a{
	/* 块级:宽度就是父级的100% */
	display: block;
	height: 46px;
	line-height: 46px;
	font-size: 16px;
	color: #fff;
}

image-20231026141618746

4、开始设计箭头。

.banner .left a{
	/* 块级:宽度就是父级的100% */
	display: block;
	height: 46px;
	background: url(../images/right.png) no-repeat right center;
	line-height: 46px;
	font-size: 16px;
	color: #fff;
}

image-20231026142027247

5、设置悬停。

/* banner左边悬停变色 */
.banner .left a:hover{
	background-image: url(../images/right-hover.png);
	color: #00a4ff;
}

image-20231026142434661

12-banner区域-课程表布局

1680338145736

HTML布局

<div class="right">
  <h3>我的课程表</h3>
  <div class="content">1</div>
</div>

CSS样式

/* 课程表 */
.banner .right {
  margin-top: 60px;
  width: 218px;
  height: 305px;
  background-color: #209dd5;
  border-radius: 10px;
}

.banner .right h3 {
  margin-left: 14px;
  height: 48px;
  line-height: 48px;
  font-size: 15px;
  color: #fff;
  font-weight: 400;
}

.banner .right .content {
  padding: 14px;
  height: 257px;
  background-color: #fff;
  border-radius: 10px;
}

1、初步设计。

/* banner 右边课程表 */
.banner .right{
	margin-top: 60px;
	width: 218px;
	height: 305px;
	background-color: #209dd5;
	border-radius: 10px;
}

image-20231026143538645

<div class="right">
	<h3>我的课程表</h3>
</div>

2、设置元素的样式。

.banner .right h3{
	margin-left: 14px;
	height: 48px;
	line-height: 48px;
	font-size: 15px;
	color: #fff;
	font-weight: 400;
}

image-20231026144005048

3、去生成装课程的框。

<div class="right">
	<h3>我的课程表</h3>
	<div class="content">1</div>
</div>
.banner .right .content{
	height: 257px;
	background-color: #fff;
	border-radius: 10px;
}

image-20231026144254750

13-banner区域-课程表内容

HTML结构

<dl>
  <dt>数据可视化课程</dt>
  <dd><span>正在学习</span>-<strong>echarts使用步骤</strong></dd>
</dl>
<dl>
  <dt>Vue3医疗项目课程  </dt>
  <dd><span>正在学习</span>-<strong>认识组合式API</strong></dd>
</dl>
<dl>
  <dt>React核心技术课程</dt>
  <dd><span>正在学习</span>-<strong>rudex配合TS使用</strong></dd>
</dl>

CSS样式

.banner .right dl {
  margin-bottom: 12px;
  border-bottom: 1px solid #e0e0e0;
}

.banner .right dt {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
}

.banner .right dd {
  margin-bottom: 8px;
  font-size: 12px;
  line-height: 16px;
}

.banner .right dd span {
  color: #00a4ff;
}

.banner .right dd strong {
  color: #7d7d7d;
  font-weight: 400;
}

1、初步在框里面填写数据。

<div class="right">
					<h3>我的课程表</h3>
					<div class="content">
						<dl>
							<dt>数据可视化课程</dt>
							<dd><span>正在学习</span>-<strong>echarts使用步骤</strong></dd>
						</dl>
						<dl>
							<dt>数据可视化课程</dt>
							<dd><span>正在学习</span>-<strong>echarts使用步骤</strong></dd>
						</dl>
						<dl>
							<dt>数据可视化课程</dt>
							<dd><span>正在学习</span>-<strong>echarts使用步骤</strong></dd>
						</dl>
					</div>
				</div>

image-20231026145643300

2、对每个课程底下加上分割线。

/* 分割线 */
.banner .right dl{
	margin-bottom: 12px;
	border-bottom: 1px solid #e0e0e0;
}

image-20231026150207029

3、把课程表标题样式搞好。

/* 课程表标题 */
.banner .right dt{
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 20px;
	font-weight: 700;
}

image-20231026150341237

4、设计正在学习这一行字的样式。

/* 小字样式 */
.banner .right dd{
	margin-bottom: 8px;
	font-size: 12px;
	line-height: 16px;
}

image-20231026150610806

5、改正在学习的颜色样式。

/* 改正在学习的颜色样式 */
.banner .right dd span{
	color: #00a4ff;
}

image-20231026150826485

6、学习内容不再加粗。

/* 学习内容不再加粗 */
.banner .right dd strong{
	color: #7d7d7d;
	font-weight: 400;
}

image-20231026151231185

14-banner区域-全部课程

HTML结构

<a href="#">全部课程</a>

CSS样式

.banner .right a {
  display: block;
  height: 32px;
  background-color: #00a4ff;
  text-align: center;
  line-height: 32px;
  font-size: 14px;
  color: #fff;
  border-radius: 15px;
}

1、加入全部课程。

<a href="#">全部课程</a>
/* 加入全部课程 */
.banner .right a{
	display: block;
	height: 32px;
	background-color: #00a4ff;
}

image-20231026151532322

2、再加入圆角和水平、垂直居中。

/* 加入全部课程 */
.banner .right a{
	display: block;
	height: 32px;
	line-height: 32px;
	background-color: #00a4ff;
	text-align: center;
	border-radius: 15px;
}

image-20231026151707325

3、修改“全部课程”这四个字的样式。

/* 加入全部课程 */
.banner .right a{
	display: block;
	height: 32px;
	line-height: 32px;
	background-color: #00a4ff;
	text-align: center;
	border-radius: 15px;
	font-size: 14px;
	color: #fff;
}

image-20231026152044693

15-精品推荐-区域布局

1680338252106

HTML结构

<!-- 精品推荐 -->
<div class="recommend wrapper">
  <h3>精品推荐</h3>
  <ul>
    <li><a href="#">HTML</a></li>
  </ul>
  <a href="#" class="modify">修改兴趣</a>
</div

CSS样式

/* 精品推荐 */
.recommend {
  display: flex;
  margin-top: 11px;
  padding: 0 20px;
  height: 60px;
  background-color: #fff;
  box-shadow: 0px 1px 2px 0px rgba(211, 211, 211, 0.5);
  line-height: 60px;
}

1、给精品区域留出位置。

<!-- 精品区域 -->
		<div class="recommend wrapper">1</div>

image-20231027170929457

2、框出位置。

/* 精品推荐 */
.recommend{
	height: 60px;
	background-color: #fff;
	box-shadow: 0px 1px 2px 0px rgba(211, 211, 211, 0.5);
}

image-20231027171148399

3、设置元素的行高,并且把元素的上外边距、内边距设置好。

/* 精品推荐 */
.recommend{
	margin-top: 60px;
	padding: 0 20px;
	height: 60px;
	background-color: #fff;
	box-shadow: 0px 1px 2px 0px rgba(211, 211, 211, 0.5);
	line-height: 60px;
}

image-20231027171412258

4、把修改兴趣挤到最右侧并设置元素的阴影效果。

<!-- 精品区域 -->
		<div class="recommend wrapper">
			<h3>精品推荐</h3>
			<ul>
				<li><a href="#">HTML</a></li>
			</ul>
			<a href="#">修改兴趣</a>
		</div>
/* 精品推荐 */
.recommend{
	display: flex;
	margin-top: 60px;
	padding: 0 20px;
	height: 60px;
	background-color: #fff;
	box-shadow: 0px 1px 2px 0px rgba(211, 211, 211, 0.5);
	line-height: 60px;
}

.recommend ul{
	/* 除去标题和修改兴趣的尺寸,父级剩余尺寸都给ul,实现把修改兴趣挤到最右侧 */
	flex: 1;
}

image-20231027172046857

5、修改好精品推荐的颜色。

.recommend h3{
	font-size: 18px;
	color: #00a4ff;
	font-weight: 400;
}

image-20231027172431230

6、将无序列表元素设置为弹性布局容器,使其子元素可以按照弹性盒子模型进行布局。设置无序列表的弹性盒子模型的主轴方向上的尺寸为1,即占据剩余的空间。这样可以实现把修改兴趣挤到最右侧的效果。

<!-- 精品区域 -->
		<div class="recommend wrapper">
			<h3>精品推荐</h3>
			<ul>
				<li><a href="#">HTML</a></li>
				<li><a href="#">HTML</a></li>
				<li><a href="#">HTML</a></li>
				<li><a href="#">HTML</a></li>
				<li><a href="#">HTML</a></li>
				<li><a href="#">HTML</a></li>
				<li><a href="#">HTML</a></li>
				<li><a href="#">HTML</a></li>
				<li><a href="#">HTML</a></li>
			</ul>
			<a href="#">修改兴趣</a>
		</div>
.recommend ul{
	/* 除去标题和修改兴趣的尺寸,父级剩余尺寸都给ul,实现把修改兴趣挤到最右侧 */
	display: flex;
	flex: 1;
}

image-20231027172637225

16-精品推荐-内容样式

HTML结构

<ul>
  <li><a href="#">HTML</a></li>
  <li><a href="#">CSS</a></li>
  <li><a href="#">JavaScript</a></li>
  <li><a href="#">Node.js</a></li>
  <li><a href="#">Ajax</a></li>
  <li><a href="#">Vue2.0</a></li>
  <li><a href="#">Vue3.0</a></li>
  <li><a href="#">TypeScript</a></li>
  <li><a href="#">React</a></li>
</ul>

CSS样式

.recommend h3 {
  font-size: 18px;
  color: #00a4ff;
  font-weight: 400;
}

.recommend ul {
  /* 除去标题和修改兴趣的尺寸,父级剩余尺寸都给ul,实现把修改兴趣挤到最右侧 */
  flex: 1;
  display: flex;
}

.recommend ul li a {
  padding: 0 24px;
  border-right: 1px solid #e0e0e0;
  font-size: 18px;
}

.recommend ul li:last-child a {
  border-right: 0;
}

.recommend .modify {
  font-size: 16px;
  color: #00a4ff;
}

1、设置链接元素的内边距来增加链接与文本之间的间距。再设置链接元素的右边框。最后设置一个无序列表项中的链接元素的样式。

2、将最后一个无序列表项中的链接元素的右边框设置为无边框。这样可以避免最后一个链接元素与其父级无序列表项之间出现多余的边框。

.recommend ul li a{
	padding: 0 24px;
	border-right: 1px solid #e0e0e0;
}

.recommend ul li:last-child a{
	border-right: 0;
}

image-20231031094206800

3、修改兴趣的字体大小与颜色。

<a href="#" class="modify">修改兴趣</a>
.recommend .modify{
	font-size: 16px;
	color: #00a4ff;
}

image-20231031095412105

17-推荐课程-标题区域

1680338517515

HTML结构

<!-- 精品推荐课程 -->
<div class="course wrapper">
  <!-- 标题 -->
  <div class="hd">
    <h3>精品推荐</h3>
    <a href="#" class="more">查看全部</a>
  </div>
  <!-- 内容 -->
  <div class="bd">1</div>
</div>

CSS样式

/* 推荐课程 */
.course {
  margin-top: 15px;
}

/* 标题 - 公共类,与其他区域共用 */
.hd {
  display: flex;
  justify-content: space-between;
  height: 60px;
  line-height: 60px;
}

.hd h3 {
  font-size: 21px;
  font-weight: 400;
}

.hd .more {
  padding-right: 20px;
  background: url(../images/more.png) no-repeat right center;
  font-size: 14px;
  color: #999;
}

1、设置背景图片,将背景图片定位在元素的右侧中间位置。

<!-- 精品推荐课程 -->
		<div class="course wrapper">
			<!-- 标题 -->
			<div class="hd">
				<h3>精品推荐</h3>
				<a href="#" class="more">查看全部</a>
			</div>
			<!-- 内容 -->
			<div class="bd"></div>
		</div>
/* 推荐课程 */
.course{
	margin-top: 15px;
}

/* 标题 - 公共类,与其他区域共用 */
.hd{
	display: flex;
	justify-content: space-between;
	height: 60px;
	line-height: 60px;
}

.hd h3{
	font-size: 21px;
	font-weight: 400;
}

.hd .more{
	padding-right: 20px;
	background:url(../images/more.png) no-repeat right center;
	font-size: 14px;
	color: #999;
}

image-20231105141328372

快捷键如下:

如:ul>li*5 按住tab键即可快速建立5个li标签

18-推荐课程-内容布局

HTML结构

<ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
  <li>7</li>
  <li>8</li>
</ul>

CSS样式

/* 课程内容 - 公共类 */
.bd ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.bd li {
  margin-bottom: 14px;
  width: 228px;
  height: 271px;
  background-color: pink;
}

1、将一个无序列表设置为弹性布局,并允许项目在需要时换行。

<!-- 精品推荐课程 -->
		<div class="course wrapper">
			<!-- 标题 -->
			<div class="hd">
				<h3>精品推荐</h3>
				<a href="#" class="more">查看全部</a>
			</div>
			<!-- 内容 -->
			<div class="bd">
				<ul>
					<li>1</li>
					<li>2</li>
					<li>3</li>
					<li>4</li>
					<li>5</li>
					<li>6</li>
					<li>7</li>
					<li>8</li>
					<li>9</li>
					<li>10</li>
				</ul>
			</div>
		</div>
/* 课程内容-公共类 */
.bd ul{
	display: flex;
	flex-wrap: wrap;
}

.bd li{
	width: 228px;
	height: 271px;
	background-color: pink;
}

image-20231105142358105

2、在主轴上将元素之间的空白区域均匀分布,并在两端留有相等的空间。

/* 课程内容-公共类 */
.bd ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.bd li{
	width: 228px;
	height: 271px;
	background-color: pink;
	margin-bottom: 14px;
}

image-20231105142648364

19-推荐课程-内容样式

HTML结构

<ul>
  <li>
    <a href="#">
      <div class="pic"><img src="./uploads/course01.png" alt=""></div>
      <div class="text">
        <h4>JavaScript数据看板项目实战</h4>
        <p><span>高级</span> · <i>1125</i>人在学习</p>
      </div>
    </a>
  </li>
  <li>
    <a href="#">
      <div class="pic"><img src="./uploads/course02.png" alt=""></div>
      <div class="text">
        <h4>Vue.js实战——面经全端项目</h4>
        <p><span>高级</span> · <i>2726</i>人在学习</p>
      </div>
    </a>
  </li>
  <li>
    <a href="#">
      <div class="pic"><img src="./uploads/course03.png" alt=""></div>
      <div class="text">
        <h4>玩转Vue全家桶,iHRM人力资源项目</h4>
        <p><span>高级</span> · <i>9456</i>人在学习</p>
      </div>
    </a>
  </li>
  <li>
    <a href="#">
      <div class="pic"><img src="./uploads/course04.png" alt=""></div>
      <div class="text">
        <h4>Vue.js实战医疗项目——优医问诊</h4>
        <p><span>高级</span> · <i>7192</i>人在学习</p>
      </div>
    </a>
  </li>
  <li>
    <a href="#">
      <div class="pic"><img src="./uploads/course05.png" alt=""></div>
      <div class="text">
        <h4>小程序实战:小兔鲜电商小程序项目</h4>
        <p><span>高级</span> · <i>2703</i>人在学习</p>
      </div>
    </a>
  </li>
  <li>
    <a href="#">
      <div class="pic"><img src="./uploads/course06.png" alt=""></div>
      <div class="text">
        <h4>前端框架Flutter开发实战</h4>
        <p><span>高级</span> · <i>2841</i>人在学习</p>
      </div>
    </a>
  </li>
  <li>
    <a href="#">
      <div class="pic"><img src="./uploads/course07.png" alt=""></div>
      <div class="text">
        <h4>熟练使用React.js——极客园H5项目</h4>
        <p><span>高级</span> · <i>95682</i>人在学习</p>
      </div>
    </a>
  </li>
  <li>
    <a href="#">
      <div class="pic"><img src="./uploads/course08.png" alt=""></div>
      <div class="text">
        <h4>熟练使用React.js——极客园PC端项目</h4>
        <p><span>高级</span> · <i>904</i>人在学习</p>
      </div>
    </a>
  </li>
  <li>
    <a href="#">
      <div class="pic"><img src="./uploads/course09.png" alt=""></div>
      <div class="text">
        <h4>前端实用技术,Fetch API 实战</h4>
        <p><span>高级</span> · <i>1516</i>人在学习</p>
      </div>
    </a>
  </li>
  <li>
    <a href="#">
      <div class="pic"><img src="./uploads/course10.png" alt=""></div>
      <div class="text">
        <h4>前端高级Node.js零基础入门教程</h4>
        <p><span>高级</span> · <i>2766</i>人在学习</p>
      </div>
    </a>
  </li>
</ul>

CSS样式

.bd li .pic {
  height: 156px;
}

.bd li .text {
  padding: 20px;
  height: 115px;
  background-color: #fff;
}

.bd li .text h4 {
  margin-bottom: 13px;
  height: 40px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
}

.bd li .text p {
  font-size: 14px;
  line-height: 20px;
  color: #999;
}

.bd li .text p span {
  color: #fa6400;
}

.bd li .text p i {
  font-style: normal;
}

1、将两个部分分出来。

<li>
	<div class="pic">1</div>
	<div class="text">2</div>
</li>
.bd li .pic{
	height: 156px;
}

.bd li .text{
	height: 115px;
	background-color: #fff;
}

image-20231105143421066

2、将图片及文字附上去。

<li>
	<a href="#">
	<div class="pic"><img src="../学成在线/uploads/course01.png" alt="" /></div>
		<div class="text">
			<h4>JavaScript数据看报项目实战</h4>
			<p><span>高级</span> · <i>1125</i>人在学习</p>
		</div>
	</a>
</li>

image-20231105144511611

3、同样的li复制十个即可。

.bd li .text{
	padding: 20px;
	height: 115px;
	background-color: #fff;
}

.bd li .text h4{
	margin-bottom: 13px;
	height: 40px;
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.bd li .text p{
	font-size: 14px;
	line-height: 20px;
	color: #999;
}

.bd li .text p span{
	color: #fa6400;
}

.bd li .text p i{
	font-style: normal;
}

image-20231105165751158

20-前端开发工程师区域

1680339112336

HTML结构

<!-- 前端 -->
<div class="wrapper">
  <!-- 标题 -->
  <div class="hd">
    <h3>前端开发工程师</h3>
    <ul>
      <li><a href="#" class="active">热门</a></li>
      <li><a href="#">初级</a></li>
      <li><a href="#">中级</a></li>
      <li><a href="#">高级</a></li>
    </ul>
    <a href="#" class="more">查看全部</a>
  </div>
  <div class="bd">
    <div class="left">
      <img src="./uploads/web_left.png" alt="">
    </div>
    <div class="right">
      <div class="top"><img src="./uploads/web_top.png" alt=""></div>
      <div class="bottom">
        <ul>
          <li>
            <a href="#">
              <div class="pic"><img src="./uploads/web01.png" alt=""></div>
              <div class="text">
                <h4>JS高级javaScript进阶面向对象ES6</h4>
                <p><span>高级</span> · <i>101937</i>人在学习</p>
              </div>
            </a>
          </li>
          <li>
            <a href="#">
              <div class="pic"><img src="./uploads/web02.png" alt=""></div>
              <div class="text">
                <h4>零基础玩转微信小程序</h4>
                <p><span>高级</span> · <i>133781</i>人在学习</p>
              </div>
            </a>
          </li>
          <li>
            <a href="#">
              <div class="pic"><img src="./uploads/web03.png" alt=""></div>
              <div class="text">
                <h4>JavaScript基础——语法解析+项目实战</h4>
                <p><span>高级</span> · <i>8927</i>人在学习</p>
              </div>
            </a>
          </li>
          <li>
            <a href="#">
              <div class="pic"><img src="./uploads/web04.png" alt=""></div>
              <div class="text">
                <h4>前端框架Vue2+Vue3全套视频</h4>
                <p><span>高级</span> · <i>26022</i>人在学习</p>
              </div>
            </a>
          </li>
        </ul>
      </div>
    </div>
  </div>
</div>

CSS样式

/* 前端 */
.hd ul {
  display: flex;
}

.hd li {
  margin-right: 60px;
  font-size: 16px;
}

.hd li .active {
  color: #00a4ff;
}

.bd {
  display: flex;
  justify-content: space-between;
}

.bd .left {
  width: 228px;
  /* background-color: pink; */
}

.bd .right {
  width: 957px;
  /* background-color: pink; */
}

.bd .right .top {
  margin-bottom: 15px;
  height: 100px;
}

1、设置中间栏。

<!-- 前端  -->
		<div class="wrapper">
			<!-- 标题 -->
			<div class="hd">
				<h3>前端开发工程师</h3>
				<ul>
				      <li><a href="#" class="active">热门</a></li>
				      <li><a href="#">初级</a></li>
				      <li><a href="#">中级</a></li>
				      <li><a href="#">高级</a></li>
				</ul>
				<a href="#" class="more">查看全部</a>
			</div>
		</div>
/* 前端 */
.hd ul{
	display: flex;
}

.hd li{
	margin-right: 60px;
	font-size: 16px;
}

.hd li .active{
	color:#00a4ff;
}

image-20231105171138567

1、将框规划出来。

<!-- 身体 -->
<div class="bd">
	<div class="left">left</div>
	<div class="right">right</div>
</div>
.bd{
	display: flex;
	/* 主轴对齐 */
	justify-content: space-between;
}

.bd .left{
	width: 228px;
	background-color: pink;
}

.bd .right{
	width: 957px;
	background-color: pink;
}

image-20231105171651324

2、将图片进行插入。

<!-- 身体 -->
			<div class="bd">
				<div class="left">
					<img src="uploads/web_left.png" alt="">
				</div>
				<div class="right">
					<div class="top"><img src="uploads/web_top.png" alt=""></div>
					<div class="bottom">
						<ul>
							
						</ul>
					</div>
				</div>
			</div>

image-20231105172220195

3、设置边距。

.bd .right top{
	height: 100px;
	margin-bottom: 15px;
}

image-20231105174835635

21-版权-布局

1680339154682

HTML结构

<!-- 版权 -->
<div class="footer">
  <div class="wrapper">
    <div class="left">left</div>
    <div class="right">right</div>
  </div>
</div>

CSS样式

/* 版权 */
.footer {
  margin-top: 60px;
  padding-top: 60px;
  height: 273px;
  background-color: #fff;
}

.footer .wrapper {
  display: flex;
  justify-content: space-between;
}

.footer .left {
  width: 440px;
  background-color: pink;
}

1、初步设计。

<!-- 版权  -->
		<div class="footer">
			<div class="wrapper">
				<div class="left">left</div>
				<div class="right">right</div>
			</div>
		</div>
/* 版权 */
.footer{
	margin-top: 60px;
	padding-top: 60px;
	height: 273px;
	background-color: #fff;
}

.footer .wrapper{
	display: flex;
	justify-content: space-between;
}

.footer .left{
	width: 440px;
	background-color: pink;
}

image-20231105175206519

22-版权-内容

HTML结构

<div class="left">
  <a href="#"><img src="./images/logo.png" alt=""></a>
  <p>学成在线致力于普及中国最好的教育它与中国一流大学和机构合作提供在线课程。
    © 2017年XTCG Inc.保留所有权利。-沪ICP备15025210号</p>
  <a href="#" class="download">下载APP</a>
</div>
<div class="right">
  <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>
  </dl>
</div>

CSS样式

.footer .left p {
  margin-top: 24px;
  margin-bottom: 14px;
  font-size: 12px;
  line-height: 17px;
  color: #666;
}

.footer .left .download {
  display: block;
  width: 120px;
  height: 36px;
  border: 1px solid #00a4ff;
  text-align: center;
  line-height: 34px;
  font-size: 16px;
  color: #00a4ff;
}

.footer .right {
  display: flex;
}

.footer .right dl {
  margin-left: 130px;
}

.footer .right dt {
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 23px;
}

.footer .right a {
  font-size: 14px;
  color: #666;
  line-height: 24px;
}

1、插入文字。

<!-- 版权  -->
		<div class="footer">
			<div class="wrapper">
				<div class="left">
					<a href="#"><img src="images/logo.png" alt=""></a>
					<p>学成在线致力于普及中国最好的教育它与中国一流大学和机构合作提供在线课程。
						© 2017年XTCG Inc.保留所有权利。-沪ICP备15025210号</p>
					<a href="#" class="download">下载APP</a>
				</div>
				<div class="right">right</div>
			</div>
		</div>

image-20231105175636435

2、改变字体大小和边距。

.footer .left p{
	margin-top: 24px;
	margin-bottom: 14px;
	font-size: 12px;
	line-height: 17px;
	color: #666;
}

image-20231105175924151

3、设置框。

.footer .left .download{
	display: block;
	width: 120px;
	height: 36px;
	border: 1px solid #00a4ff;
	text-align: center;
	line-height: 34px;
	font-size: 16px;
	color: #00a4ff;
}

image-20231105180224059

4、将右边的三类文字放进去。

<div class="right">
					<dl>
						<dt>合作伙伴</dt>
						<dd><a href="#">合作对象</a></dd>
						<dd><a href="#">合作导师</a></dd>
					</dl>
					<dl>
						<dt>合作伙伴</dt>
						<dd><a href="#">合作对象</a></dd>
						<dd><a href="#">合作导师</a></dd>
					</dl>
					<dl>
						<dt>合作伙伴</dt>
						<dd><a href="#">合作对象</a></dd>
						<dd><a href="#">合作导师</a></dd>
					</dl>
				</div>
.footer .right{
	display: flex;
}

image-20231105180613885

5、统一改好边距。

.footer .right dl{
	margin-left: 130px;
}

.footer .right dt{
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 23px;
}

.footer .right a{
	font-size: 14px;
	color: #666;
	line-height: 24px;
}

image-20231105180944645

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

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

相关文章

Gin学习笔记

Gin学习笔记 Gin文档&#xff1a;https://pkg.go.dev/github.com/gin-gonic/gin 1、快速入门 1.1、安装Gin go get -u github.com/gin-gonic/gin1.2、main.go package mainimport ("github.com/gin-gonic/gin""net/http" )func main() {// 创建路由引…

打通你学习C语言的任督二脉-函数栈帧的创建和销毁(上)

&#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏:C语言学习&#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 待解决疑惑: 局部变量是怎么创建的? 为什么局部变量的值是随机值? 函数是怎么传参的?传参的顺序是怎样的? 形参和实参是什么关系? 函数调…

3.25每日一题(知线性常系数方程的特解求线性方程)

思路&#xff1a;通过特解可以知道特征根&#xff0c;通过特征根可以求出特征方程&#xff0c;通过特征方程可以求出线性方程

C语言strcat函数再学习

之前学习了strcat函数&#xff1b;下面继续学习此函数&#xff1b; 它的功能描述是&#xff0c; 功能 把src所指向的字符串&#xff08;包括“\0”&#xff09;复制到dest所指向的字符串后面&#xff08;删除*dest原来末尾的“\0”&#xff09;。要保证*dest足够长&#xff0…

【数智化人物展】觉非科技CEO李东旻:数据闭环,智能驾驶数智时代发展的新引擎...

李东旻 本文由觉非科技CEO李东旻投递并参与《2023中国企业数智化转型升级先锋人物》榜单/奖项评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 数智化的主要作用是帮助决策。它的核心是大数据&#xff0c;以大数据为基础&#xff0c;匹配合适的AI技术&#xff0c;促使数…

Framebuffer 介绍和应用编程

前言&#xff1a; 使用的开发板为韦东山老师的 IMX6ULL 目录 Framebuffer介绍 LCD 操作原理 涉及的 API 函数 1.open 函数 2.ioctl 函数 3.mmap 函数 Framebuffer 程序分析 1.打开设备 2.获取 LCD 参数 3.映射 Framebuffer 4.描点函数 5.随便画几个点 6.上机实验…

一个高性能类型安全的.NET枚举实用开源库

从零构建.Net前后端分离项目 枚举应该是我们编程中&#xff0c;必不可少的了&#xff0c;今天推荐一个.NET枚举实用开源库&#xff0c;它提供许多方便的扩展方法&#xff0c;方便开发者使用开发。 01 项目简介 Enums.NET是一个.NET枚举实用程序库&#xff0c;专注于为枚举提…

【技术干货】开源库 Com.Gitusme.Net.Extensiones.Core 的使用

目录 1、项目介绍 2、为项目添加依赖 3、代码中导入命名空间 4、代码中使用 示例 1&#xff1a;string转换 示例 2&#xff1a;object转换 1、项目介绍 Com.Gitusme.Net.Extensiones.Core是一个.Net扩展库。当前最新版本1.0.4&#xff0c;提供了常见类型转换&#xff0c…

坐公交:内外向乘客依序选座(python字典、字符串、元组)

n排宽度不一的座位&#xff0c;每排2座&#xff0c;2n名内外向乘客依序上车按各自喜好选座。 (笔记模板由python脚本于2023年11月05日 21:49:31创建&#xff0c;本篇笔记适合熟悉python列表list、字符串str、元组tuple的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&…

从公共业务提取来看架构演进——帐号权限篇

1. 引言 在产品业务多元化的过程中&#xff0c;往往会遇到一些与业务发展不匹配的架构问题&#xff0c;这些问题可能会在业务迭代中以性能差、重复开发等形式表现出来&#xff0c;进而给系统的扩展和维护带来一些挑战。 本文准备以一个帐号权限的业务为例&#xff0c;来讨论下…

SQL FULL OUTER JOIN 关键字(完整外部连接)||SQL自连接 Self JOIN

SQL FULL OUTER JOIN 关键字 当左&#xff08;表1&#xff09;或右&#xff08;表2&#xff09;表记录匹配时&#xff0c;FULL OUTER JOIN关键字将返回所有记录。 注意&#xff1a; FULL OUTER JOIN可能会返回非常大的结果集&#xff01; SQL FULL OUTER JOIN 语法 SELECT …

[100天算法】-搜索旋转排序数组(day 60)

题目描述 升序排列的整数数组 nums 在预先未知的某个点上进行了旋转&#xff08;例如&#xff0c; [0,1,2,4,5,6,7] 经旋转后可能变为 [4,5,6,7,0,1,2] &#xff09;。请你在数组中搜索 target &#xff0c;如果数组中存在这个目标值&#xff0c;则返回它的索引&#xff0c;否…

计算机毕设 基于大数据的服务器数据分析与可视化系统 -python 可视化 大数据

文章目录 0 前言1 课题背景2 实现效果3 数据收集分析过程**总体框架图****kafka 创建日志主题****flume 收集日志写到 kafka****python 读取 kafka 实时处理****数据分析可视化** 4 Flask框架5 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&a…

MATLAB和西门子SMART PLC UDP通信

MATLAB和SMART PLC的OPC通信请参考下面文章链接,这里不再赘述: MATLAB和西门子SMART PLC OPC通信-CSDN博客文章浏览阅读661次,点赞26次,收藏2次。西门子S7-200SMART PLC OPC软件的下载和使用,请查看下面文章Smart 200PLC PC Access SMART OPC通信_基于pc access smart的o…

Spring Security入门教程,springboot整合Spring Security

Spring Security是Spring官方推荐的认证、授权框架&#xff0c;功能相比Apache Shiro功能更丰富也更强大&#xff0c;但是使用起来更麻烦。 如果使用过Apache Shiro&#xff0c;学习Spring Security会比较简单一点&#xff0c;两种框架有很多相似的地方。 目录 一、准备工作 …

“Java与Redis的默契舞曲:优雅地连接与存储数据“

文章目录 引言1. Java连接上Redis2. Java对Redis进行存储数据2.1 存储set类型数据2.2 存储hash类型数据2.3 存储list类型数据 总结 引言 在现代软件开发中&#xff0c;数据存储和处理是至关重要的一环。Java作为一门强大的编程语言&#xff0c;与Redis这个高性能的内存数据库相…

【PWN · heap | unlink】hitcon2014_stkof

初学&#xff0c;通过一道题初步掌握unlink。不教学unlink的具体过程&#xff0c;仅是一篇wp记录笔记 前言 教学和具体过程可以看这个大佬的博客&#xff1a; buuctf pwn hitcon2014_stkof 初识unlink_buuctf hitcon2014_stkof-CSDN博客 一、题目 fill函数可读大量字符&#…

正点原子嵌入式linux驱动开发——Linux WIFI驱动

WIFI的使用已经很常见了&#xff0c;手机、平板、汽车等等&#xff0c;虽然可以使用有线网络&#xff0c;但是有时候很多设备存在布线困难的情况&#xff0c;此时WIFI就是一个不错的选择。正点原子STM32MP1开发板支持USB和SDIO这两种接口的WIFI&#xff0c;本章就来学习一下如何…

springboot前后端时间类型传输

springboot前后端时间类型传输 前言1.java使用时间类型java.util.Date2.java使用localDateTime 前言 springboot前后端分离项目总是需要进行时间数据类型的接受和转换,针对打代码过程中不同的类型转化做个总结 1.java使用时间类型java.util.Date springboot的项目中使用了new …

基于前馈神经网络完成鸢尾花分类

目录 1 小批量梯度下降法 1.0 展开聊一聊~ 1.1 数据分组 1.2 用DataLoader进行封装 1.3 模型构建 1.4 完善Runner类 1.5 模型训练 1.6 模型评价 1.7 模型预测 思考 总结 参考文献 首先基础知识铺垫~ 继续使用第三章中的鸢尾花分类任务&#xff0c;将Softm…