手把手教你基于HTML、CSS搭建我的相册(下)

news2025/7/9 13:44:42

The sand accumulates to form a pagoda

  • ⭐ 写在前面
  • ⭐ 相册中心部分
  • ⭐ 添加照片
  • ⭐ 图片展示样式
  • ⭐ 搭建底部版权模块
  • ⭐ 写在最后


⭐ 写在前面

经常有一些粉丝咨询前端该从什么开始学,那当然是我们的前端基础三件套开始学起,HTML、CSS、javaScript,前端的大部分框架的底层还是围绕着前端三件套来搭建的,相信大家能够在很多平台中去找到一些前端三件套的体系教程,借着原力计划凉哥也为大家带来前端三件套的一些内容分享,只不过这里可不是纯基础知识的输出,而是会结合一些基于前端三件套的基础知识来做一些有趣的小项目、小demo,会由简单到复杂,由静态到动态的过程来帮助大家掌握前端三件套的使用及搭配,所以这里针对的人群是前端初学者或者你还没有开始学前端想感受一些前端代码那这个专栏很适合你。

我们第一个小demo非常简单的一个个人相册的页面,布局简单,帮我们了解基础的前端代码;下面呢是我们demo的效果图,在上篇文章中我们为大家简单的讲解了HTML、CSS的概念以及我们完成了demo中的头部搭建,让我们初体验了一下HTML、CSS代码,今天呢我们就把这个demo剩下的部分完成吧!如果你没有接触过前端你可以看一下上篇文章 👉 手把手教你基于HTML、CSS搭建我的相册(上),我们接着上篇文章中的代码继续搭建;

在这里插入图片描述

⭐ 相册中心部分

我们能够看到这部分内容的整体我们可以看成一个大的盒子然后有一个边框,边框的四个角还是圆的,里面有六张图片,好像描述起来也是比较简单的,那下面我们就来通过代码实现一下想要的页面吧!首先我们就先来看这个大盒子,我们在上篇文章中跟大家讲解过盒子我们就可以用div,这里呢也是我们通过在body中新建一个div标签,由于我们的头部是在上面所以我们的div要写上头部div的下面;我们添加div并且通过class设置类名为main。

<body>

  <div class="header">
    <h1>我的相册</h1>
  </div>


  <div class="main">

  </div>

</body>

然后我们在style中为main类名的盒子设置上下面的样式,首先设置 background-color: #fff;背景颜色为白色,margin: 20px;外边距为20px,padding: 20px;内边距也是20px,border: 2px solid #333;这是设置的边框,值为线条宽度2px 实线 线条颜色为灰色;border-radius: 10px;这个属性是设置的边框为圆角弧度是10px;我们可以看一下效果;

.main {
  background-color: #fff;
  margin: 20px;
  padding: 20px;
  border: 2px solid #333;
  border-radius: 10px;
}

在这里插入图片描述


⭐ 添加照片

我们上面的外面的大盒子的样式已经搞定了,大家可以会觉得是不是太矮了,要不要高一些,其实这里大家设置高度也可以,因为这个网站的布局比较简单所以我选择让盒子中的内容来撑起盒子高度,所以这也是同样的一个网站在样式搭建的细节上有非常多的选择,只要自己觉得方便就行。我们可以观察一下其实我们的图片的话是一个列表,那我们为了比较好操作我们在创建一个类名为gallery的div来承载图片,另外呢我们为每个图片也装上一个类名为image的盒子来看一下;这里的img呢就是图片标签,其中src就是图片地址我们可以选择本地,这里我用的是网上的图片,大家可以随便找自己喜欢的图片放到这里,alt是文字,图片不展示的时候展示的文字。

<div class="main">
  <div class="gallery">
    <div class="image">
        <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片1">
    </div>
    <div class="image">
        <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片2">
    </div>
    <div class="image">
        <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片3">
    </div>
    <div class="image">
        <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片4">
    </div>
    <div class="image">
        <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片5">
    </div>
    <div class="image">
        <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片6">
    </div>
  </div>
</div>

在这里插入图片描述


⭐ 图片展示样式

我们刷新页面,显然不是我们想要的,我们要通过CSS样式来美化一下我们图片的呈现形式吧,首先呢我们的div是行内元素,特点就是每个div都独占一行,所以我们给gallery 盒子添加上flex布局,至于什么是flex布局呢?大家可以下去后自行查阅资料,网上很多讲解比较详细的文章,如果有需要大家可以私聊我为大家出一篇讲解也可以,这里我们先跟着博主来写就行,flex-wrap你可以理解为时候换行,我们通过flex设置后所有的图片都是在一行了,所以我们要让它换行,justify-content是一种对其方式我们可以理解为设置它以后我们的子元素是两端对齐;然后我们为图片的盒子设置上宽度为30%, margin-bottom距离底部20px。

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

.image {
  width: 30%;
  margin-bottom: 20px;
}

在这里插入图片描述

我们发现图片还是很大,这是因为我们只为图片的div设置了宽度,但是没有为图片设置,所以我们还要给图片设置样式,这里我们看到.image img其实这是我们选中类名为image下面的img标签,因为类名是可以重复的所以我们这里也是选中了所有的img,如果我们直接写img可以么?当然可以在这里,但是在实际项目中我们只写一个标签容易造成样式污染因为img标签可能非常多,我们通过类名里面的img就比较针对性,这里呢我们设置宽度为100%,高度适应即可;这就得到了我们想要的效果。

.image img {
  width: 100%;
  height: auto;
}

在这里插入图片描述


⭐ 搭建底部版权模块

上面呢我们把中间的图片区域搞定了,就剩下我们底部的版权模块了,这个比较简单,跟我们的头部标题差不多,我们首先在我们类名为main的div下面新增一个类名叫做footer的div,然后我们在div中添加一个p标签,p标签呢是段落标签,大家也可以使用其他的div、h标签都可以的哈。

<div class="footer">
  <p>版权所有 © 2023 我的相册</p>
</div>

当然我们还是需要定义样式,首先我们跟头部一样还是通过background-color设置背景颜色为灰色,将文字颜色设置为白色,文字对齐样式为居中,通过padding设置我们的内边距为10px;这样就完成了我们底部的样式;我们刷新看一下效果吧!

.footer {
  background-color: #333;
  color: #fff;
  text-align: center;
  padding: 10px;
}

在这里插入图片描述


⭐ 写在最后

到这里呢我们的特别基础的相册就搭建完成了,样式也极为简单,目的其实是为了让我们的初学者或者是还没有接触过前端的活动能够通过简单的例子来帮助大家感受体验一下前端的代码结构,那也希望各位伙伴给个三联支持,我们本系列会从简单到复杂,通过一个个循序渐进的案例来帮助大家掌握前端基础三件套的同时间也能够做出一些比较有趣好玩的项目,最后呢我也想完整的代码放在下面,大家可以对照来编码;那就让我们 let’s coding!

完整代码

<html>

<head>

  <title>我的相册</title>
  <meta name="author" content="(作者)几何心凉" />
  <meta name="description" content="网页的描述" />
  <meta name="copyright" content="这里是版权信息" />
  <meta name="keywords" content="网页的关键字" />
  <style>
    /* 这里编写样式 */

    body {
      font-family: Arial, sans-serif;
      margin: 0;
    }

    .header {
      background-color: #333;
      color: #fff;
      text-align: center;
      padding: 20px;
    }


    .main {
      background-color: #fff;
      margin: 20px;
      padding: 20px;
      border: 2px solid #333;
      border-radius: 10px;
    }

    h1 {
      font-size: 3em;
      margin: 0;
    }

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

    .image {
      width: 30%;
      margin-bottom: 20px;
    }
    .image img {
      width: 100%;
      height: auto;
    }

    .footer {
      background-color: #333;
      color: #fff;
      text-align: center;
      padding: 10px;
    }
  </style>
</head>

<body>

  <div class="header">
    <h1>我的相册</h1>
  </div>


  <div class="main">
    <div class="gallery">
      <div class="image">
          <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片1">
      </div>
      <div class="image">
          <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片2">
      </div>
      <div class="image">
          <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片3">
      </div>
      <div class="image">
          <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片4">
      </div>
      <div class="image">
          <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片5">
      </div>
      <div class="image">
          <img src="https://lmg.jj20.com/up/allimg/4k/s/02/210924233115O14-0-lp.jpg" alt="照片6">
      </div>
    </div>
  </div>

  <div class="footer">
    <p>版权所有 © 2023 我的相册</p>
  </div>

</body>

</html>



本期推荐

在这里插入图片描述

原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

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

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

相关文章

Java Web 实战 15 - 计算机网络之网络编程套接字

文章目录一 . 网络编程中的基本概念1.1 网络编程1.2 客户端(client) / 服务器(server)1.3 请求(request) / 响应(response)1.4 客户端和服务器之间的交互数据1.4.1 一问一答1.4.2 多问一答1.4.3 一问多答1.4.4 多问多答二 . socket 套接字2.1 UDP 的 Socket API2.1.1 引子2.1.2…

网络安全工具大合集

还是一句话&#xff0c;功夫再高&#xff0c;也怕菜刀首先&#xff0c;恭喜你发现了宝藏。本文章集成了全网优秀的开源攻防武器项目&#xff0c;包含&#xff1a;信息收集工具&#xff08;自动化利用工具、资产发现工具、目录扫描工具、子域名收集工具、指纹识别工具、端口扫描…

为什么说网络安全是风口行业?是IT行业最后的红利?

前言 “没有网络安全就没有国家安全”。当前&#xff0c;网络安全已被提升到国家战略的高度&#xff0c;成为影响国家安全、社会稳定至关重要的因素之一。 网络安全行业特点 1、就业薪资非常高&#xff0c;涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万&…

2023最新高频前端面试题总结(附答案)

目录 1.vue双向数据绑定的原理&#xff1f; 2.vue的生命周期有哪些 3.v-if 和v-show有什么区别&#xff1f; 4.async await 是什么&#xff1f;它有哪些作用&#xff1f; 5、数组常用的方法&#xff1f;哪些方法会改变原数组&#xff0c;哪些不会 6.什么是原型链&#xf…

脱不下孔乙己的长衫,现代的年轻人该怎么办?

“如果我没读过书&#xff0c;我还可以做别的工作&#xff0c;可我偏偏读过书” “学历本该是我的敲门砖&#xff0c;却成了我脱不下的长衫。” 最近&#xff0c;“脱下孔乙己的长衫”在网上火了。在鲁迅的原著小说中&#xff0c;孔乙己属于知识阶级&#xff08;长衫客&#xf…

国产ChatGPT大战弱智吧效果实测!网页端小程序均已上线,人人可玩

杨净 萧箫 发自 凹非寺量子位 | 公众号 QbitAI“中国版ChatGPT首发”&#xff0c;争得不可开交&#xff0c;热闹却一直没个结果——自ChatGPT发布以来&#xff0c;目前进展最快的国内产品也仅是开启了内测&#xff0c;不知道啥时候才能玩上。结果现在有读者跟我们爆料&#xff…

Vue3+TypeScript项目报错: 找不到名称“require”。是否需要为节点安装类型定义?

Vue3TypeScript项目编写代码时报错&#xff1a;找不到名称“require”。是否需要为节点安装类型定义?请尝试使用 npm i --save-dev types/node。 描述&#xff1a;今天在开发项目时&#xff08;项目框架为Vue3TypeScript&#xff09;需要 动态引入静态资源&#xff0c;也就是…

Vue--Router--嵌套路由(children)的用法

原文网址&#xff1a;Vue--Router--嵌套路由(children)的用法_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Vue Router的嵌套路由的用法。 嵌套路由就是父路由里面嵌套他的子路由&#xff0c;父路由有自己的路由导航和路由容器&#xff08;router-link、router-view&#x…

ChatGPT能否取代程序员?

目录ChatGPT能否取代程序员&#xff1f;ChatGPT和程序员的工作内容和工作方式ChatGPT和程序员的共同点程序员的优势程序员的实力ChatGPT和程序员的关系结论惊喜ChatGPT能否取代程序员&#xff1f; ChatGPT是一种非常普遍的人工智能&#xff08;AI&#xff09;系统&#xff0c;…

chatGPT的49种应用场景,双AI生成二次元仙女,及各开发语言对接chatGPT参考指南

前沿 可能有人在问我&#xff0c;勇哥为什么chatGPT都被微信下架了&#xff0c;你还要写相关的chatGPT的文章呢&#xff1f;其实我们先不论微信下架的原因&#xff0c;单说chatGPT的达芬奇模型给勇哥带来的科技感早就超越了一切&#xff0c;所以勇哥依旧决定连续熬两个夜为大家…

mapbox使用教程

文章目录mapbox前期准备创建,显影,删除图层,图层样式layers-type常用类型sources-type常用类型地图创建点地图创建图片、图标地图创建文字标注&#xff08;标题&#xff09;地图创建面&#xff0c;线给指定图层添加自定义弹出框地图创建容器绘制echarts/hightcharts图表地图平滑…

300秒带你手写一个promise

前言 为什么要写这一篇文章&#xff1f; 加深对promise的理解&#xff0c;以及再实际工作中的灵活运用。知其然&#xff0c;知其所以然。面试需要。&#xff08;重点&#xff01;&#xff01;&#xff01;&#xff09; 1:声明promise 首先我们先来聊聊promise的几个特性&am…

【node.js从入门到精通】使用node.js写入读取文件内容,基础方法使用

目录 前言 读取文件内容 判断文件是否读取成功 使用writeFile写入文件内容 整理数据 路径动态拼接处理问题 path.basename使用 获取路径中扩展名文件 写在最后 前言 Node.js是一个基于Chrome V8引擎的JavaScript运行环境。 区分版本号 LTS为长期稳定版&#xff0c;推…

大数据 │ ECharts与pyecharts数据可视化应用

通过本篇了解ECharts与pyecharts数据可视化的特点&#xff0c;能实现简单的ECharts与pyecharts数据可视化操作。 01、pyecharts数据可视化介绍 pyecharts是一个用于生成 Echarts 图表的类库&#xff0c;是一款将Python与ECharts相结合的强大的数据可视化工具&#xff0c;使用…

npm install报错Fix the upstream dependency conflict, or retry

执行 npm install vue-router时报错&#xff0c;进过多方查找&#xff0c;最终逐渐了解到造成此问题的原因。 从报错的信息&#xff1a; ERESOLVE unable to resolve dependency tree &#xff08;无法解决依赖关系树&#xff09; npm ERR! Could not resolve dependency: &…

9、Linux 高并发Web服务器项目实战(附代码下载地址)

1. Linux / Unix 上的五种 IO 模型 在Linux下进行网络编程时&#xff0c;服务器端编程经常需要构造高性能的IO模型&#xff0c;常见的IO模型有五种&#xff1a; 同步阻塞式 I/O&#xff08;BIO, Blocking IO&#xff09;&#xff1a; 在调用该类I/O函数读取数据时&#xff0c;…

前端LayUI框架快速上手详解(一)

✍目录总览 &#x1f525;LayUI &#x1f525;前端框架LayUI详解地址&#x1f525;前端LayUI框架快速上手详解(一)https://blog.csdn.net/Augenstern_QXL/article/details/119748962&#x1f525;前端LayUI框架快速上手详解(二)https://blog.csdn.net/Augenstern_QXL/article/…

【JavaEE初阶】前端第一节.HTML 基础(上篇)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 一、前端的引入&#xff1b; 二、第一个HTML程序 1.1 如何创建一个新HTML文件 2.2 HTML的完整结构 2.3 关于html文件的详解 2.4 使用 开发者工具 三…

uniapp h5的支付宝,微信支付

根据官方文档可知&#xff0c;uniapp对h5平台的支付没有进行封装&#xff0c;这就需要我们的自己针对不同的情况进行处理。 uniapp官方支付文档&#xff1a;uni.requestPayment(OBJECT) | uni-app官网 前端在进行h5页面的支付处理的时还是较为简单的&#xff0c;不论是支付宝还…

大二C#实现酒店管理系统(C端展示、前台操作、登记入住、入住管理、职位管理、公告系统等)

大二C#实现酒店管理系统&#xff08;C端展示、前台操作、登记入住、入住管理、职位管理、公告系统等&#xff09; 前言项目技术介绍 1、开发工具&#xff1a;VS2022 2、数据库&#xff1a;SqlServer 3、前端请求&#xff1a;HTML5jQuery 4、第三方框架&#xff1a;Layui、视图可…