css垂直居中

IT兄弟连 HTML5教程 使用盒子模型设计页面布局

[亡魂溺海] 提交于 2019-12-13 08:39:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 布局所涉及的技术非常很多,足以另写单独的一本书了。在本节中主要介绍网站中最常用的布局方案,包括区块框居中、两列浮动、三列浮动及多列浮动的区块框。 1 居中设计 区块框居中的设计是在网页布局中常用的技术,例如将网页内的主体内容设置为一定的宽度,然后在页面内居中占据屏幕的一部分显示,而不是横跨整个屏幕宽度。这样设计的目的是因为现在的显示器尺寸越来越大,网页的可读性问题就变得越来越重要,因而需要创建比较短的、容易阅读的行。另外,不要让使用分辨率比较低的显示器用户,通过反复拖动浏览器的水平滚动条来查看页面中的每行文本。目前网页的布局几乎都是基于1024 × 768像素的屏幕分辨率来设计页面内容的宽度。例如,将页面显示内容区块框的宽度设置为966像素,代码如下所示: 在上面的代码中,设置页面最外层的容器div水平居中。在CSS中只需要定义容器div的宽度为966像素,然后将容器的左部和右部空白边设置为auto,就会在浏览器中居中。但在没有声明DOCTYPE时,IE浏览器中不支持使用空白边设置容器居中,而是通过在上一层容器中设置样式text-align:center让容器居中,然后再将容器的内容重新对准左边。如图1所示,IE和Firefox显示结果相同。 图1 居中设计 2 设置两列浮动的布局

图片比例自适应居中与CSS垂直水平居中

一个人想着一个人 提交于 2019-12-08 01:13:22
图片比例自适应居中 说明 最近项目里有这样一个需求:要求是在图片外部的框框是大小一致、图片的长宽比不一致,且图片能够在固定高度的情况下,使得图片的宽度能保持原有的比例,及宽度不压缩,图片始终在外部div的最中间,如下图所示 图片宽度大于外部边框的情况下,两边会有一部分看不见 原图 效果图 图片宽度小于外部边框的情况下,两边会留白 原图 效果图 代码 在网上找了许多资料,最终使用了下面的方案,效果很OK html部分 < div class = "img" > < img src = "xxx.jpg" > </ div > css部分 .img { width : 100 % ; height : 255 px ; overflow : hidden ; position : relative ; border-radius : 4 px 4 px 0 0 ; } img { height : 100 % ; width : auto ; position : absolute ; top : 0 ; left : 50 % ; transform : translateX(- 50 %) ; } CSS垂直水平居中 说明 垂直水平居中,即要求一段文字或图片或其他在外部div容器中垂直水平居中放置,如下图所示 效果图 代码 依然是用 transform 的思想

关于CSS居中问题的一些总结

孤者浪人 提交于 2019-12-06 05:45:38
前端页面开发中关于内容居中的需求应用概率很大,自己搜集一些资料和总结关于css里的几种居中效果实现 第一 常用 text-align:center 先将子元素将块级元素改为行内元素,即 display:inline-block 父级元素设置 text-align:center 兼容性: IE6 , IE7 第二 使用 table+margin 将子元素设置成块级表格显示类似(<table>),在设置子框居中以达到水平居中 兼容性:不支持 IE6、IE7 <div class="fa"> 父 <div class="ch">子</div> </div> display: table; margin: 0 auto; 第三 使用 absolute+transform 将子元素设置为绝对定位,移动子框,使子元素左侧距离相对左侧边框的距离为相对子框宽度的一半,再通过向左移动子框一半宽度以达到水平居中。 兼容性:css3属性兼容存在一定问题,高版本需要添加前缀 position: relative; /*父*/ position: absolute; /*子*/ left: 50%; transform:translateX(-50%); 第四 使用 flex+margin 通过父级元素flex布局将子框转换为 flex item 再设置子元素水平居中 兼容性:不支持 IE6、IE7、IE8

CSS之各种居中

杀马特。学长 韩版系。学妹 提交于 2019-12-06 05:27:35
前言 在我看来,入门CSS的路上最烦人的就是CSS的各种居中了。在我初学CSS过程中,居中这个问题经常困扰到我。 那为什么CSS的居中这么烦人呢? 我认为,这是因为CSS的居中方法以及它的适用范围太多了,而导致应用时很难分清到底哪个有效。下面我就简单地梳理一下CSS的居中方法。 水平居中 1.行内元素的水平居中 对于行内元素(如text、link或inline-*元素)的水平居中: .inline { text-align: center; } 这种方法对于inline-block、inline-table等等都有效。 2.块级元素的水平居中 对于块级元素(如div、p等)的水平居中: .block { margin: 0 auto; } 这种方法就是把margin-left和margin-right设置成auto。但这种方法前提是你要设置好块级元素的宽度,否则它的宽度就会铺满其父级元素。 3.多个块级元素的水平居中 当需要多个块级元素在一行内居中时,我们可以把它们设置为inline-block或者flex。 1)inline-block .inline-block-center { display: inline-block; text-align: right; } 2)flexbox .flex-center { display: flex; justify-content:

CSS居中完全指南——构建CSS居中决策树

こ雲淡風輕ζ 提交于 2019-12-05 19:28:50
CSS居中完全指南——构建CSS居中决策树 本文总结CSS居中,包括水平居中和垂直居中.本文相当于CSS决策树,下次再遇到CSS居中问题时有章可循. 参考 Centering in CSS: A Complete Guide 和 【基础】这15种CSS居中的方式,你都用过哪几种 本文的引用归原作者所有. 代码在线演示工具 JSbin使用指南 1.Horizontally 水平居中 1.1 inline 或 inline-* 元素水平居中 给需要居中的元素一个 block 父元素,需要居中子元素为 文本 或者 inline , inline-block , inline-table , inline-flex 核心代码 .center-children { text-align: center; } JSbin演示地址 效果: 1.2 block 元素水平居中 父元素为 block ,子元素也为 bolck ,且子元素设置了 宽度 (没宽度子元素就继承父元素宽度,居中没有意义). 无论正在居中块级元素的宽度或父级的宽度如何,都会起作用。 方法:子元素 margin: 0 auto; 左右外边距设置为自动填充 核心代码 .center-me { margin: 0 auto; } 效果: block 元素水平居中JSbin演示地址 1.3多个 block 元素水平居中 1.3.1 多个

CSS3/CSS之居中解析(水平+垂直居中、水平居中,垂直居中)

三世轮回 提交于 2019-12-05 17:19:31
首先,我们来看下垂直居中: (1)、如果是单行文本,则可以设置的line-height的数值,让其等于父级元素的高度! <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> .box{ background: green; height:200px; } a {height:100%; line-height: 200px; color:red; } </style> </head> <body> <div class="box"> <a href="">ggg </a> </div> </body> </html> (2)、如果元素是行内块级元素,一般会使用diaplay:inline-block,vertical-align:middle,还有一个伪元素让元素内容处于容器中央!给父元素添加伪元素! <!DOCTYPE html> <html lang="en"> <head> <meta

让块元素在div中水平居中,并且垂直居中的五种方法

女生的网名这么多〃 提交于 2019-12-05 09:06:33
在写代码前,先做下准备工作,写两个div,设置下div的大小,把小的div放在大的div里面。可以给小的div设置下颜色,方便观看. 方法一:写一个伪元素,将它设置为行内块元素,高度与父元素相同,写一条属性,vertical-align:middle,子元素也要写,具体代码如下: <style> div{width:500px;height:500px;box-shadow:0 0 5px #000; text-align:center;} .zi{width:100px;height:100px;background:#60C;display:inline-block;vertical-align:middle;} div:after{content:""; height:500px; background:#00C;display:inline-block;vertical-align:middle;} </style> </head> <body> <div > <div class="zi"></div> </div> 方法二:利用定位,给大的div写一个position:relative;子元素写position:absolute; 这时子元素的包含块就是外面大的div,然后给里面的div写一下位置left:0;right:0;top:0;bottom:0;margin

记录CSS

北慕城南 提交于 2019-12-05 07:41:41
ID选择器:#id { } ID是独一无二的,不可重复 类选择器: .class { } 标签选择器 h p input... 子选择器:.food>li 大于符号(>),仅用于选择指定标签元素的第一代子元素 后代选择器:.food li 通用选择器:*{ } 匹配html中所有标签元素 分组选择符:h1,span,li { } 伪类选择符:例: a:hover{color:red;}->鼠标滑过状态设置字体颜色变红; :link /*没有访问过的链接*/ :visited /*已经访问过的链接*/ input:focus{ } 选取获得焦点(光标)的表单 标签的权值为1,类选择符的权值为10,ID选择符的权值为100;行内样式style权值1000; 继承或者 * 权值0 改变样式权重:!important >> p{ color:red!important; } 权重叠加: 复合选择器会权重叠加;权重会叠加,不会有进位 (相同权重值时): 层叠就是在html文件中对于同一个元素可以有多个css样式存在, 当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定, 处于最后面的css样式会被应用。 继承性:子标签会继承父标签的某些样式,text- font- line- color 标题标签不会继承父元素文字大小; a标签不会继承父元素的文字颜色; 优先级:内联样式表

【前端知识体系】CSS布局知识强化

给你一囗甜甜゛ 提交于 2019-12-04 18:28:13
1.实现两栏/三栏布局的方法? 表格布局 float + margin布局 inline-block布局 flexbox布局(兼容性的问题) 1.1 基础布局 <style> * { margin: 0; padding: 0; } .layout { margin-top: 10px; } .layout div{ min-height: 100px; } </style> <body> <!--1.浮动的方式来实现布局--> <section class="layout float"> <style> .layout.float .left { float: left; width: 300px; background-color: #48adff; } .layout.float .main { background-color: #ff4344; } </style> <article class="left-main"> <div class="left"></div> <div class="main"> <h1>浮动两栏布局</h1> <p>两栏布局的中间部分</p> <p>两栏布局的中间部分</p> </div> </article> </section> <!--2.定位的方式来实现布局--> <section class="layout absolute">

CSS(5)---通俗讲解盒子模型

对着背影说爱祢 提交于 2019-12-04 04:57:05
CSS(5)---盒子模型 盒子模型四个关键字: 内容(content) 、 填充(padding) 、 边框(border) 、 边界(margin) , CSS盒子模式都具备这些属性。 一、概念 1、 概念 盒子的概念就好比你现在网上买了一个苹果手机,那么新手机肯定是放在一个盒子里给你寄来。 那么这苹果手机本身就指的是 内容(content) , 为了让手机安全寄到会在盒子里放点泡沫这就是 填充(padding) , 那么这个盒子本身肯定是有它的宽度的这叫 边框(border) , 每个盒子与每个盒子之间的距离叫 边界(margin) 。 如图 2、元素的宽度和高度 重要 当您指定一个CSS元素的宽度和高度属性时,实际只是设置内容区域的宽度和高度。要知道,完全大小的元素,你还必须添加填充,边框和边距。 宽高公式 总宽度 = 内容宽度 + padding宽度(左右) + border宽度(左右) + margin宽度(左右) 总高度 = 内容高度 + padding高度(上下) + border高度(上下) + margin高度(上下) 举例 求下面的总宽度是多少? <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>宽和高</title> <style> div { background-color: