CSS 绝对定位 7 大应用场景实战案例分享

27 个 CSS 案例演示和 DEMO 看上去有点乱糟糟的对吧?没事,给它加上overflow: hidden,把多余的文本遮住。通过JS分割文本并应用交错动画,就得到了如下的效果,这也是接下来本文要讲的overflow障眼法。 **本demo地址:**https://codepen.io/alphardex/full/wvBeXjd 8、overflow障眼法 ================= 之前有做过闪光按钮的效果:鼠标悬浮按钮上时一道光从左到右划过去。 笔者就用渐变来模拟那道光,通过transform: translateX()将其. 阅读详情

今天我们来分享web前端CSS定位中的position:absolute绝对定位的应用场景案例的相关场景!

绝对定位是CSS中非常中啊哟的知识点,接下来我我们会通过7个不同的层面结合7个不同的案例来展开讲解!

绝对定位元素的特性

  • 使元素完全脱离文档流,将释放自己的位置
  • 元素的层级提升,会覆盖在其它元素上
  • 离自己最近的定位父元素进行位置调整,如果没有定位的父元素,则相对body进行位置调整
  • 元素支持宽高设置
  • margin:auto;水平居中失效。可以通过left与margin-left控制元素水平居中
  • 定位元素未设置宽高情况下,同时设置top和bottom会改变元素高,同时设置left和right会改变元素宽

绝对定位元素常见用法合集

  • top、bottom以及left、right 优先级(案例1)
  • 相对于直接父元素定位(案例2)
  • 相对父元素的父元素定位(案例3)
  • 相对于body定位(案例4)
  • 子元素自适应父元素宽高(案例5)
  • 设置元素水平垂直居中(案例6)
  • 改变元素的层级关系(案例7)

1、top、bottom以及left、right 优先级

如果元素添加宽高,同时设置top与bottom属性,会以top值为主。

如果同时设置left和right属性,以left为主。

<style type="text/css">
   html,body{margin:0;}
   .box{
       width:100px;
       height:100px;
       margin: 50px auto;
       background-color: pink;
       position: relative;/*相对定位*/
  }
   .box .item{
       width:50px;
       height: 50px;
       position: absolute;/*绝对定位*/
       left:-20px;/*与相对定位元素左边距离*/
       top:-20px;/*与相对定位元素顶部距离*/
       bottom:0px;/*不生效*/
       right:0px;/*不生效*/
       background-color:skyblue;
  }
</style>

2、相对于直接父元素定位

相对于直接父元素定位案例是太多太多,下图列举了几个

其中图1鼠标滑动悬浮效果 源码

<style>
   body,h3{
       margin:0;
       padding:0;
  }
   .music{
       width: 150px;
       height: 150px;
       margin:100px auto;
       position: relative;
  }
   .music h3{
       height: 35px;
       line-height: 35px;
       width: 100%;
       background-color: rgba(0,0,0,0.5);
       color:#fff;
       position: absolute;
       left:0px;
       bottom:0px;
       font-size: 14px;
       font-weight: 100;
       white-space: nowrap;
       overflow: hidden;
       text-overflow: ellipsis;
  }
   .music span.icon-hot{
       padding:2px 6px 4px 5px;
       background-color: red;
       color:#fff;
       font-size: 14px;
       position: absolute;
       right:0px;
       top:0px;
  }
</style>
<body>
   <div class="music">
       <img src="images/music.jpg" alt="" height="150">
       <div class="video-mask"></div>
       <span class="icon-hot">最新</span>
       <h3 class="video-title">古风戏腔丨一声曲叹,惊艳了芳华</h3>
   </div>
</body>

3、相对父元素的父元素定位-二级右测悬浮菜单

<style>
       body,ul,li{
           margin:0;
           padding:0;
      }
       body{
           background-image: linear-gradient(to right,skyblue,pink);
      }
       ul{
           list-style: none;
           width: 150px;
           margin: 100px auto;
           position: relative;/*相对定位,.menu-item就是相对于ul来绝对定位的*/
      }
       ul li{
           height: 35px;
           line-height: 35px;
           text-indent: 2em;
           background-color:skyblue;
      }
       ul li a{
           text-decoration: none;
           color:#fff;
      }
       ul li:hover{
           background-color: salmon;
      }
       ul li .menu-item{
           width: 200px;
           height: 100%;
           background-color: #fff;
           position: absolute;/*绝对定位*/
           left:150px;
           top:0px;
           display: none;
      }
       ul li:hover .menu-item{
           display: block;
      }
   </style>
<body>
<ul class="menu">
   <li>
       <a href="#">菜单项1</a>
       <div class="menu-item">内容1</div>
   </li>
   <li>
       <a href="#">菜单项2</a>
       <div class="menu-item">内容2</div>
   </li>
   <li>
       <a href="#">菜单项3</a>
       <div class="menu-item">内容3</div>
   </li>
   <li>
       <a href="#">菜单项3</a>
       <div class="menu-item">内容4</div>
   </li>
</ul>
</body>

4、相对于body定位-右击显示桌面菜单

当鼠标在浏览器窗口右击时,会在右击的位置显示对应的桌面菜单。这里的菜单就是相对于body来绝对定位的。

<style>
   body,ul,li{
       margin: 0;
       padding: 0;
  }
   ul{
       list-style: none;
  }
   .menu{
       width:200px;
       height: 200px;
       background-color: #fff;
       border:1px solid #ddd;
       box-shadow: 2px 2px 5px #ddd;
       position: absolute;
       display: none;
  }
   .menu li{
       text-indent: 2em;
       font-size: 14px;
       color:#666;
       line-height: 30px;
  }
   .menu li:hover{
       background-color: #ddd;
  }
</style>
<body>
   <ul class="menu" id="menu">
       <li>返回</li>
       <li>前进</li>
       <li>重新加载</li>
       <li>新建文件夹</li>
       <li>设置背景</li>
   </ul>
   <script>
       var tag=document.getElementById('menu');
       var li=document.querySelectorAll('.menu li');
       //取消系统默认的右键弹窗
       document.oncontextmenu=function(){
           return false;
      }
       //按下右键,并抬起时
       document.onmouseup=function(e){
           if(e.button==2){//判断鼠标按下的时右键
               //获取鼠标按下时的坐标
               var x=e.pageX;
               var y=e.pageY;
               //把鼠标按下时的坐标,分别赋值给tag元素的left和top
               tag.style.left=x+'px';
               tag.style.top=y+'px';
               /*右键后,显示右侧桌面菜单*/
               tag.style.display='block';
          }
      }
       document.onclick=function(){
           /*在窗口任意位置点击,隐藏桌面菜单*/
           tag.style.display='none';
      }
   </script>
</body>

5、子元素自适应父元素宽高-黑色半透明遮罩层

黑色半透明遮罩层不用设置宽高。我们通过position的left,right、top、bottom来控制黑色半透明遮罩层宽度和高度。

<style>
   body,ul,li{
       margin:0;
       padding: 0;
  }
   ul{
       list-style: none;
       width:690px ;
  }
   ul li{
       margin:5px;
       float: left;
       background-color: skyblue;
       position: relative;/*相对定位*/
  }
   ul li:nth-child(1),ul li:nth-child(3){
       width: 200px;
       height: 200px;
  }
   ul li:nth-child(2){
       width: 250px;
       height: 200px;
  }
   ul li:nth-child(4),ul li:nth-child(5){
       width: 330px;
       height: 200px;
  }
   ul li::before{
       display: block;
       content: "";
       /*通过定位,来控制元素的宽高,可以自适应父元素*/
       position: absolute;
       left:20px;
       right:20px;
       top:20px;
       bottom:20px;
       background-color: rgba(0,0,0,0.5);/*黑色半透明遮罩层*/
  }
</style>
<body>
   <ul>
       <li></li>
       <li></li>
       <li></li>
       <li></li>
       <li></li>
   </ul>
</body>

6、绝对定位设置元素水平垂直居中

三角形相对父元素水平居中源码

<style>
   html,body{
       margin:0;
       width: 100%;
       height: 100%;
  }
   .tag{
       width:100px;
       height:100px;
       padding: 10px;
       margin: 100px auto;
       background-color:orange;
       border-radius: 10px;
       position: relative;/*绝对定位*/
  }
   .tag::after{
       display:block;
       content: "";
       /*以下三行代码,绘制三角形*/
       width:0;
       border:10px solid transparent;
       border-bottom-color:orange;
       position: absolute; /*利用绝对定位设置三角形的位置*/
       /*以下两行代码,设置三角形相对父元素水平居中*/
       left:50%;
       margin-left:-10px;
       top:-20px;
  }
</style>
<body>
   <div class="tag"></div>
</body>

7、改变元素的层级关系-3D图片展示效果

当鼠标滑动到元素上面,通过改变z-index的值,来提升元素层级,让其在最上方展示。

<style>
   body,ul,li{
       margin:0;
       padding: 0;
  }
   body{
       background-color:#000;
  }
   ul{
       list-style: none;
       width: 800px;
       height: 300px;
       margin: 50px auto;
       position: relative;/*相对定位*/
       perspective:800px ;/*3D场景-景深(视距)*/
  }
   ul li{
       width:400px;
       height:300px;
       position: absolute;/*绝对定位*/
       left:calc(var(--i)*100px);/*通过自定义属性动态计算元素left值*/
       transform: rotateY(20deg);/*Y轴旋转20deg*/
       box-shadow: 0px 2px 35px skyblue;
       transition: all .5s;/*过渡动画*/
  }
   ul li img{
       width: 100%;
       height: 100%;
       object-fit: cover;
  }
   ul li:hover{
       border:10px solid #fff;
       transform: rotateY(0deg);/*元素Y轴旋转到0deg*/
       z-index:2;/*改变元素层级,让元素在最上面显示*/
       top:50px;
  }
</style>
<body>
   <ul>
       <li style="--i:0"><img src="images/rotate1.webp" alt=""></li>
       <li style="--i:1"><img src="images/rotate2.webp" alt=""></li>
       <li style="--i:2"><img src="images/rotate3.webp" alt=""></li>
       <li style="--i:3"><img src="images/rotate1.webp" alt=""></li>
       <li style="--i:4"><img src="images/rotate2.webp" alt=""></li>
       <li style="--i:5"><img src="images/rotate3.webp" alt=""></li>
   </ul>
</body>

为帮助到一部分同学不走弯路,真正达到一线互联网大厂前端项目研发要求,首次实力宠粉,打造了《30天挑战学习计划》,内容如下:

HTML/HTML5,CSS/CSS3,JavaScript,真实企业项目开发,云服务器部署上线,从入门到精通

  • PC端项目开发(1个)
  • 移动WebApp开发(2个)
  • 多端响应式开发(1个)

共4大完整的项目开发 !一行一行代码带领实践开发,实际企业开发怎么做我们就是怎么做。从学习一开始就进入工作状态,省得浪费时间。

从学习一开始就同步使用 Git 进行项目代码的版本的管理,Markdown 记录学习笔记,包括真实大厂项目的开发标准和设计规范,命名规范,项目代码规范,SEO优化规范

从蓝湖UI设计稿 到 PC端,移动端,多端响应式开发项目开发

  • 真机调试,云服务部署上线;
  • Linux环境下 的 Nginx 部署,Nginx 性能优化;
  • Gzip 压缩,HTTPS 加密协议,域名服务器备案,解析;
  • 企业项目域名跳转的终极解决方案,多网站、多系统部署;
  • 使用 使用 Git 在线项目部署;

这些内容在《30天挑战学习计划》中每一个细节都有讲到,包含视频+图文教程+项目资料素材等。只为实力宠粉,真正一次掌握企业项目开发必备技能,不走弯路 !

30 天挑战学习计划 Web 前端从入门到实战 | arry老师的博客-艾编程

经典无比的欧美网站css案例50个 经典无比的欧美网站css案例50个,你一定可以找到你喜欢的那个,好好学习观摩吧。 立即下载

相关推荐

20多个CSS样式表精选案例(实用、常用案例)

个人精心整理收藏,值得推荐!包括《网页设计标准尺寸》文档 搜索引擎 DIV层居中 无图片实现圆角框 精典布局等实用案例!无论新手老手都值得收藏!

CSS-200个小案例(一)

最近我在youtube上跟着大神学习200个CSS小案例,作者Online Tutorials 编码的内容很实用,案例中涉及定位、变换、动画等概念,适合进一步学习和巩固CSS知识,能帮助我们实现页面的特效。

qq_55154022的博客 3708

用 Python 和 uiautomation 实现微信批量发送

思路是这样,将要发送的人员名单(包括称呼)以及发送内容都维护到Excel里,程序运行时读取Excel里内容,自动搜索人员姓名(微信昵称或备注名),填入要发送的内容,拼接上称呼(如果需要的话)自动点击发送,这样轮巡直至名单人员全部发送完成。、

jankingdom的专栏 1471

css 背景效果_软件技术:我写CSS的常用套路(附demo的效果实现与源码)

前言本文是笔者写CSS时常用的套路。不论效果再怎么华丽,万变不离其宗。1、交错动画有时候,我们需要给多个元素添加同一个动画,播放后,不难发现它们会一起运动,一起结束,这样就会显得很平淡无奇。那么如何将动画变得稍微有趣一点呢?很简单,既然它们都是同一时刻开始运动的,那么让它们不在同一时刻运动不就可以了吗。如何让它们不在同一时刻运动呢?注意到CSS动画有延迟(delay)这一属性。举个栗子,...

weixin_39577908的博客 794

Visual Studio 2015 插件开发 从入门到放弃(一)

必需知识:C#和Visual Studio (1)安装 Visual Studio 2015 的时候选择 Visual Studio 扩展性工具(Visual Studio Extensibility Tools)。对于已经安装好 Visual Studio 2015 的小伙伴,可以找VS2015的安装包,或者在程序与功能中找VS2015双击,在VS2015界面中选择 修改,再选择

AncientPeople的博客 2万+

CMAC算法原理

2、K1 通过以下运算导出:若 L 的最高有效位等于 0,则 K1 是 L 的左移 1 位。3、K2 通过如下运算导出:若 K1 的最高有效位等于 0,则 K2 是 K1 的左移 1 位。采用了 AES 算法中的类似 CBC 模式的加密方式,即对前一个分组的密文与当前分组的明文进行异或操作后在加密,2、分块处理:首先将消息分成多个固定长度的块,若消息长度不是块大小的倍数,则可以使用填充来将其填充到合适的大小。1、子密钥计算,通过主密钥生成子密钥(key1,key2),子密钥用于最后一个块处理;

sky的博客 1659

CSS基础知识分享1

CSS全称Cascading Style Sheets,层叠样式表,是一种用于描述 HTML 文档外观的样式语言。它控制着网页的颜色、字体、布局、动画等视觉效果。CSS 的作用:美化网页,控制网页的样式和布局与 HTML 的关系:HTML 负责结构,CSS 负责表现引入方式语法优先级适用场景复用性内联样式最高动态样式、调试无内部样式表<style>中单页面、小型项目当前页面外部样式表<link>低生产项目、多页面跨页面1.3 基本语法与注释CSS 由选择器和声明块。

2402_88266590的博客 983

FC游戏Hack实战:从零开始修改游戏数据

本文以《忍者神龟3》为例,详细介绍了从零开始进行FC游戏Hack的完整实战流程。通过使用FCEUX模拟器和调试器,结合“递减法”精准定位生命值内存地址,并利用十六进制编辑器修改关键指令,最终实现“无限生命”效果。文章旨在引导读者理解游戏数据修改的核心原理与操作技巧,重温经典的同时深入计算机程序运行机制。

weixin_28366353的博客 359

两万块前端就业课程——学习笔记分享(Day_10)

【150字摘要】本文系统讲解了CSS定位与浮动布局的核心知识。重点解析了绝对定位特性:脱离标准流、参照最近定位祖先、需配合"子绝父相"模式使用。详细演示了浮动布局规则,包括元素排列、边界限制及图文环绕实现。特别强调浮动导致的间隙消除技巧和高度塌陷问题,对比了浮动与Flex布局的优劣。通过网易云音乐播放器等实战案例,展示了定位在UI开发中的具体应用,并总结了粘性定位、z-index层级等进阶技巧。最后指出现代布局中Flex逐步替代浮动的趋势,为前端开发者提供全面的定位布局解决方案。

一位搞嵌入式和前端的genius的博客 985

ArcGIS Pro符号化教程

本文详细介绍了ArcGIS Pro的软件设置和符号化操作步骤。主要包括:1)设置默认工程目录和关闭地图自动加载;2)创建新工程的基本流程;3)点要素的单一符号化方法,包括样式修改和图层调整;4)图表符号显示过滤器的使用,涉及字段添加、图表类型选择和背景设置。文章还提供了操作截图和数据下载链接,适合GIS初学者学习ArcGIS Pro的基础符号化操作。

WwLK123的博客 551

Linux安装MinIO(图文解说详细版)

最近开个新坑,就是在linux环境中操作开发环境,带大家玩转Linux,会整理出一篇Linux的专栏,欢迎大家订阅!! 富贵同学linux环境为CentOS7.8 版本。 上期跟大家说了一下OpenJDK的安装,这次说一下minio的安装 第一步,进入/opt 目录,创建minio文件夹 cd /opt mkdir minio 第二步,wget下载安装包: wget https://dl.minio.io/server/minio/release/linux-amd64/minio 第三步,进入m

编码人生 5万+

CSS---CSS定位---7.24

定位

weixin_50768118的博客 281

微信小程序 - 最新详细实现调起手机摄像头拍摄身份证人像面和国徽面取景框功能,在拍照相机上增加身份证证件照的轮廓或自定义文字,支持替换扫描拍摄辅助线图片及文本,小程序实现拍照身份证时带取景轮廓框拍摄!

微信小程序,身份证,证件照,人像,证件照提示框模板,vue身份证拍照框,摄像机相机里有引导内容,取景框拍摄,微信小程序实现拍照界面自定义实现,自拍人相框拍摄,取景框,户口簿取景框,画布指定区域生成图片,微信小程序身份证正反面拍照如何加入辅助图片引导照片,身份证取景框拍摄,服务器,上传,正反面,调起手机摄像头: 拍摄身份证的正反面,自定义身份证取景框,在相机上绘制 “身份证轮廓“ 与提示文字,拍摄身份证时出现人像框怎么实现,在相机上增加图片和文字,微信小程序怎么给调起的相机加入自定义图片,小程序实现给相机上面

🏆 前端领域优质创作者 3406

同一行 绝对定位_好程序员web前端分享定位锚点透明

好程序员web前端分享定位锚点透明学习目标· 1、position 定位属性和属性值· 2、定位元素的层级属性· 3、包含块的概念和应用· 4、锚点连接的语法和应用场景· 5、透明属性的应用· 6、扩展:Flash和marquee(滚动字幕)一、position 定位属性和属性值position 定位属性,检索对象的定位方式;语法:position:static /absolute/relativ...

weixin_29661797的博客 121

“反激电源”是AC/DC隔离电源还是DC/DC隔离电源?

所以在一些场景,我们的输入电压是一个DC,但是我们仍然需要隔离电源的需求,我们就会只采用图9.2的右半部分。在这个场景下“反激电源”是DC/DC。所以此AC/DC的本质是将AC变成高压的DC之后,用带隔离变压器的反激式开关电源产生一个隔离的、稳定的直流电压。一般在讲述各种电源的拓扑的文章和书籍都是在讲述AC/DC的电源拓扑分类的时候,讲述Flyback。反激式开关电源是指使用反激高频变压器隔离输入输出回路的开关电源,反激式隔离变压器开关电源重点表述的是开关电源包含变压器的拓扑结构。

qq_43416206的博客 1299

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

CSS中的伪类,应用场景?遮罩层与超链接样式

很久没写博客了…这段时间一直在准备各种面试,把知识点和体系全都总结在印象笔记里,有机会的话再把那些分享出来吧。 伪类 伪类是同一个标签,根据其不同的种状态,有不同的样式。通俗的可以理解成在页面上多加了一层,这个层就是伪类,具体长什么样,在这个层的CSS里定义即可。 应用场景 伪类一个很大的应用场景就是在超链接里: link:连接平常的状态 visited:连接被访问过之后 hover:鼠标放到连...

wantingtr的博客 1286

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

php 分析css,CSS的positon属性的分析

这篇文章主要介绍了关于CSS的positon属性的分析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下position是CSS中非常重要的一个属性,通过position属性,我们可以让元素相对于其正常位置,父元素或者浏览器窗口进行偏移。postion也是初学者容易搞不清楚状况的一个属性,本文将从最基础的知识讲起,谈谈关于positon属性的一些理论与应用。基础知识postion属性我...

weixin_33100265的博客 267

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

css 取偶数节点_7个Web前端程序员必须会用CSS技巧

1、元素的margin的top、bottom及padding的top、bottom使用百分比作为单位时,其是相对父元素的宽度width的而不是我们想象的高度height;举个例子:其实出现这种现象,我们可以巧用margin/padding的百分比值实现高度自适应(多用于占位,避免闪烁)当然该元素高度上的百分比是相对其父元素高度的百分比的,min-height及max-height也适用这...

weixin_30099989的博客 148

html加css布局结构,html、css基础复习之布局结构篇

所谓“设计一根线,重构一身汗”,掌握好css基础对于提高UI开发效率,提升代码质量有很大的作用。本文由我大熊主播给大家分享一下css中布局方面的基础。不需要游艇火箭,假如看完后有收获的话就点个赞点个收藏便是极好的。本文的目录如下,采取的是由大到小的层面去分享:1.css定位布局2.css弹性布局3.css盒子模型4.css BFC另预报一下,css动画与即抄即可使用的css常用样式会在下篇中分享,...

weixin_35521169的博客 314

CSS Border使用小分享-单像素三角实现

CSS Border使用小分享-单像素三角实现 2010年9月17日 15:47:06 发布:hugo 原理 css盒模型 一个盒子包括:margin+border+padding+content –上下左右边框交界处出呈现平滑的斜线.利用这个特点,通过设置不同的上下左右边框宽度或者颜色可以得到小三角,小梯形等.–调整宽度大小可以调节三角形形状. 示例1 一般情况下,我们设

ZLHZHJ的专栏 848

html设置盒子用百分比,哪些CSS属性可以设置百分比,其计算原则是什么?

大家好,我是IT修真院深圳分院第01期学员,一枚正直善良的web程序员。今天给大家分享一下,修真院官网 CSS任务中CSS部分可能会使用到的知识点:哪些CSS属性可以设置百分比,其计算原则是什么?1.背景介绍CSS 的属性值中经常会出现百分比,并且百分比是实现页面自适应很重要的一种方法。但是有哪些属性可以用百分比来进行设置呢?设置的原则又是什么呢?2.知识剖析常见的可以使用百分比的样式属性定位属性...

weixin_39975055的博客 901

css form 居中_55 个提高你 CSS 开发效率的必备片段

这篇文章会记录我们平时常用到的 CSS 片段,使用这些 CSS 可以帮助我们解决许多实际项目问题中遇到的,墙裂建议点赞收藏再看,方便日后查找 附笔记链接,阅读往期更多优质文章可移步查看:前端笔记本清除浮动浮动给我们的代码带来的麻烦,想必不需要多说,我们会用很多方式来避免这种麻烦,其中我觉得最方便也是兼容性最好的一种是,在同级目录下再创建一个<div style="clear:both;"&g...

weixin_39984105的博客 105

HTML与CSS基础知识小记

1.行级元素不能设置宽和高,宽度和高度由内容区决定 2.行级块既可以像行级元素一样在一行排列,也可以拥有调整宽度和高度的特性 3.行级块元素拥有行级元素和文本元素的特性,所以换行的时候,换行符会被识别为文本的结束,因此当多个img元素换行时会出现大约6px的间隔,使用手工压缩(去除空格和换行符)即可去除间隔 4.块级元素拥有宽高 5.盒子包含内容区域和内边距及边框 6.浮动,定位和overflow...

u012476022的博客 266

CSS篇:前端开发必备:Flex布局在真实项目中的妙用

还记得被float和clearfix支配的恐惧吗?Flex布局的出现彻底改变了前端开发者的布局方式。根据2023年前端工具调查报告,Flex布局的使用率已经达到惊人的98%,成为最受欢迎的CSS布局方案。今天,我将通过10个真实场景,带你全面掌握Flex布局的实战应用。

欢迎来到我的前端博客!这里汇集了关于前端开发的最新技术、实用工具和经验分享。我将为你提供详细的教程、代码示例和实战案例,帮助你掌握Web开发的核心概念和技能。不论你是初学者还是有经验的开发者,这个博客都适合你。 1328

好程序员web前端分享定位锚点透明

好程序员web前端分享定位锚点透明 学习目标 1、position 定位属性和属性值 2、定位元素的层级属性 3、包含块的概念和应用 4、锚点连接的语法和应用场景 5、透明属性的应用 6、扩展:Flash和marquee(滚动字幕) 一、position 定位属性和属性值 position 定位属性,检索对象的定位方式;语法:position:static /absolu...

weixin_30822451的博客 234

CSS(定位,精灵图,字体图标,画三角,界面样式,布局技巧)

定位 1. 定位 = 定位模式 + 边偏移 2. position:模式 4种 3. 边偏移(top,bottom,left,right)单位:像素 static 1. 默认的定位方式 2. 没有边偏移 3. 安装标准流摆放位置 相对定位relative 定义:相对于原来的位置进行偏移 特点:不脱标,原来的位置不会消失,继续保留 用途:一般用作 absolute 的爹 绝对定位absolute 定义:相对于父元素进行偏移 1. 如果没有定位父元素,以浏览器为准进行偏移 2. 如果有定位父元素,以定位父

CxOneCom的博客 447
上一篇: CSS相对定位3大应用场景5个实战应用案例详解
下一篇: 你必须记住的30个CSS选择器?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾编程前端技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值