Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304411
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站导航为爱好css的朋友们提供相关的知识。

html5 如何实现客户端验证上传文件的大小jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

在hTML 5中,现在可以在客户端进行文件上传时的校验了,比如用户选择文件后,可以马上校验文件的大小和属性等,这其实时得益于浏览器端新增的对文件的校验能力,其中支持hTML 5的浏览器,都会实现W3C实现的文件API标准,其中可以读取客户端文件的各种信息和参数。 jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

  • 此篇文章具体介绍如下

说起水平垂直居中大家常看到的是使用绝对定位与负margin的配合或者是inline-block配合vertical-align:middle等方法。当然还有其他一些解决方案,比如说,在水平垂直居中系列中介绍了一些制作方案。但这些方案或多或少都存在一些局限性。假设,要垂直水平居中的元素大小是未知的,你要使用绝对定位与负margin配合就难上加难。当然你会说,使用表格将解决我一切所需,的确是这样,那么除了这些方法,还有别的方案吗?接下来我们就针对这个自设问题,来一起探讨其他几种实现水平垂直居中的方案。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

为了更好的阐述后面的方案,我们这里有一个命题:让未知大小容器(未知行数的文本)实现水平垂直居中。看到这样的命题,有人或许会说神经病又来了,如果你也这么认为,就让当是神病出现了吧。我们不纠结这个,还是看几种解决方案吧。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

方法一:最原始的方式jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

这种方法用来实现单行垂直居中是相当的简单的,你只要保证元素内容是单行,并且其高度是固定不变的,你只要将其“line-height”设置成和“height”值一样就Ok了。不过这种方法局限性太大,只有单行文本的元素才适用,所以在多行元素中是不能使用这种方法的。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<style>
.vertical {   
 height: 100px;   
 line-height: 100px;/*值等于元素高度的值*/  
}
</style> 
<div class="vertical">content</div>  

优点:jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

适合在所有浏览器,没有足够空间时,内容不会被切掉jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

缺点:jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

仅适合应用在文本和图片上,并且这种方法,当你文本不是单行时,效果极差,差到让你感到恶心。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

这种方法对运用在小元素上是非常有用的,比如说让一个button、图片或者单行文本字段。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

 jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

方法二:Flexbox方式jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

什么是Flexbox就不说了,对于让Flexbox实现水平垂直居中可以说是绝对的一流。假设我想让一张图片(图片大小不知)在body中实现水平垂直居中。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

hTML:jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<body>  
    <img src="http://img0.bdstatic.com/img/image/shouye/mxangel.jpg" alt="" />  
</body>  

结构非常简单,body中有一张图片。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

CSS教程jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

我们要做的是,如何使用Flexbox让img在body中实现水平垂直居中。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

*{   
  margin: 0;   
  padding:0;   
  -webkit-box-sizing: border-box;   
  box-sizing: border-box;   
}   
html,   
body {   
  height: 100%;   
}   
body {   
  display: flex;   
  align-items: center;   
  justify-content: center;   
  width: 100%;/*firefox下需要*/  
}  

代码就这么几行,有一个关键之处,需要将html和body高度设置为100%;然后只需要在body中配置样式。此处使用了Flexbox中的居中属性。至于他们原理,这里就不多说了,感兴趣的同学可以看看Flexbox相关的教程。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

 jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

方法三:transform与绝对定位方式jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

在当今天移动设备横行天下的年代,给我们前端人员制作页面带来无尽的烦恼,具体原因,大家都懂的。那么这里我们来模拟一个情形。有一个弹出层,我不知道他的大小有多大,我想让他在各种设备中永远水平居中。在下面示例中,我们用一个Dive来当作是弹出窗吧(偷懒了,不想花太多时间去做这个弹出窗效果)。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

回到我们问题所在,在示例中有这样的一个结构:jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<style>
*{   
  margin: 0;   
  padding:0;   
  -webkit-box-sizing: border-box;   
  box-sizing: border-box;   
}   
html,   
body {   
  height: 100%;   
}   
  
.modal {   
  border: 1px solid #bbb;   
  border-radius: 5px;   
  box-shadow: 0 0 3px rgba(0,0,0,.5);   
  
  position:absolute;   
  top:50%;   
  left: 50%;   
  -webkit-transform: translate(-50%, -50%);   
  transform: translate(-50%, -50%);   
}   
.modal-header {   
  padding: 10px 20px;   
  background: rgba(0,0,0,.25);   
  color:#fff;   
}   
.modal-body{   
  padding: 20px;   
  background: #fff;   
}  
</style>
<div class="modal">  
    <div class="modal-header">弹出窗标题</div>  
    <div class="modal-body">在当今天移动。。。</div>  
</div>  

 jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

方法四:div vertical-alignjNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

使用div模拟表格效果,也就是说将多个<div>的“display”属性设置为禾“table”和“table-cell”,并设置他们的“vertical-align”的属性值为“middle”。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<style>
#container {   
 height: 300px;   
 display: table;/*让元素以表格形式渲染*/  
}   
#content {   
 display:table-cell;/*让元素以表格的单元素格形式渲染*/  
 vertical-align: middle;/*使用元素的垂直对齐*/  
}     
</style>
<div id="container">  
 <div id="content">content</div>  
</div> 

优点:jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

这种方法不会像前面的两种方法一样,有高度的限制,此方法可以要据元素内容动态的改变高度,从而也就没有空间的限制,元素的内容不会因为没足够的空间而被切断或者出现难看的滚动条。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

缺点:jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

不足之处呢?这种方法只适合现代浏览器,在IE6-7下无法正常运行;而且较前两者而言,结构也更复杂。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

这种方法在现代浏览器下是非常方便。但是在IE6-7中是不被支持的,因为display:table在IE6-7中不被支持,那么为了解决这种方法在IE6-7的兼容,需要额外增加一个div,并使用hack,下面我们一起来看看其解决办法。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<style>
.table {   
 height: 300px;/*高度值不能少*/  
 width: 300px;/*宽度值不能少*/  
 display: table;   
 position: relative;   
 float:left;   
}     
  
.tableCell {   
 display: table-cell;   
 vertical-align: middle;   
 text-align: center;      
 padding: 10px;   
 *position: absolute;   
 *top: 50%;   
 *left: 50%;   
}   
.content {   
 *position:relative;   
 *top: -50%;   
 *left: -50%;   
}  
</style>
<div class="table">  
 <div class="tableCell">  
  <div class="content">content</div>  
 </div>  
</div>  

还有一种方法、有点新意,用这种方法你需要在居中元素前面放一个空的<div>(块元素就可以),然后设置这个<div>的高度为50%,margin-bottom为元素高度的一半,而且居中元素需要清除浮动。需要注意的是,使用这种方法,如果你的居中元素是放在body中的话,你需要给html,body设置一个“height:100%”的属性。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<style>
html,body {height: 100%;}   
#floater{   
 float:left;   
 height:50%;/*相对于父元素高度的50%*/  
 margin-bottom: -120px;/*值大小为居中元素高度的一半(240px/2)*/  
}   
#content {   
 clear:both;/*清除浮动*/  
 height: 240px;   
 position: relative;   
}  
</style>
<body>  
 <div id="floater"><!--This block have empty content --></div>  
 <div id="content">Content section</div>  
</body>  

优点:jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

这种方法能兼容所有浏览器,在没有足哆空间下,内容不会被切掉jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

缺点:jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

元素高度被固定死,无法达到内容自适应高度,如果居中元素加上overflow属性,要么元素出现滚动条,要么元素被切掉;另外就是一个不算缺点的缺点,那就是加了一个空标签。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

 jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

方式五:display:inline-blockjNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

这种方法是采用的display:inline-block,然后借助另一个元素的高度来实现居中jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<style type="text/css教程">   
html,   
body{   
 height: 100%;   
}   
  
#parent {   
 height: 500px;/*定义高度,让线盒型div#extra有一个参照物,可以是固定值,也可以是百分比*/  
 border: 1px solid red;   
}   
#vertically_center,   
#extra {   
 display: inline-block;/*把元素转为行内块显示*/  
 vertical-align: middle;/*垂直居中*/  
}   
#extra {   
 height: 100%; /*设置线盒型为父元素的100%高度*/  
}   
</style>   
  
<!--[if lt IE 8]>   
 <style type="text/css教程">   
  /*IE6-7不支持display:inline-block,所以在ie6-7另外写一个hack,用来支持ie6-7*/  
  #vertically_center,   
  #extra {   
   display: inline;   
   zoom: 1;   
  }   
  #extra {   
  width: 1px;   
  }   
 </style>   
<![endif]-->  
<div id="parent">  
 <div id="vertically_center">  
  <p>I am vertically centered!</p>  
 </div>  
 <div id="extra"><!-- ie comment --></div>  
</div> 

优点:jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

可以自适应高度,简单易懂jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

缺点:jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

需要给元素的父元素设置一个高度,这个高度可以是一个固定值或者百分值高度,另外需要增加一个额外的标签,当作线盒型,如div#extra,并且需要设置其高度为100%。另外就是ie6-7不支持display:inline-block,需要给他们另外写一个样式。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

Resumable hTML5 File API 的文件上传jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

Resumable.js 是一个 JavaScript 库,通过 hTML5 文件 API 提供,稳定和可恢复的批量上传功能。在上传大文件的时候通过每个文件分割成小块,每块在上传失败的时候,上传会不断重试直到程序完成。这允许上传到本地或服务器的网络连接丢失后能够自动恢复上传。jNpAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

关于css的相关的知识就说到这里希望能够可以帮助更多的朋友们。,css,垂直居中

标签:css垂直居中

分享到:

  admin

注册时间:

网站:0 个   APP:3 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304411

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市