【box-sizing】学习

中间的两个卡片设置了box-sizing:border:box,width:50%,padding值固定。卡片宽度根据media
queries随着屏幕拉伸自动缩放。

这个属性特别适合这种容器宽度自适应,但有固定边距的场景。web设计中配合media queries使用,移动web中可以自适应屏幕。

想起了网易云阅读pad版的图集类文章的排版就有这样自适应宽度但边距固定的需求(pad版需要自适应ipad,android pad,win8 pc and
pad)

比如有下面一种模板,卡片中间的缝隙为4px宽,宽度自适应设备屏幕。

代码如下:


<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
html,body {
margin: 0;
padding: 0;
height: 100%;
width: 100%;
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.row {
height: 50%;
}

.row div {
height: 100%;
border:2px solid #000;
float: left;
}

.column1 {
width: 50%;
}

.column2 {
width: 33.333333%;
}
</style>
</head>
<body>
<div class="row">
<div class="column1"></div>
<div class="column1"></div>
</div>
<div class="row">
<div class="column2"></div>
<div class="column2"></div>
<div class="column2"></div>
</div>
</body>
</html>

网易云阅读-简约阅读也有同样的需求

上述项目我都是采用width:%的方式,比如容器width:49.1111111%,边宽width:0.999999999%;

大概可以实现需求,但边距宽度会变,采用box-sizing,则完全能符合需求

这个属性包括pc和mobile浏览器都支持的不错,神奇的是还支持IE8.

顺便推荐下teambition,作为小团队的协作软件挺好的。

时间: 2024-10-01 18:25:00

【box-sizing】学习的相关文章

CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset

一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border).内边距(Padding)和内容(Content),其实盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型,加上了doctype声明,让所有浏览器都会采用标准 w3c 盒子模型去解释你的盒子.当设置一个元素的样式如下: <!DOCTYPE html> <html> <

HTML5+CSS3 animation/keyframe/transform/transition/2D translate/3D translate 学习总结

<h1>HTML5+CSS3 animation/keyframe/transform/transition/2D translate/3D translate 学习总结</h1> <h1>HTML5,animation,keyframe,transform,transition,2D translate,3D translate,CSS3</h1> CSS3 教程 CSS 用于控制网页的样式和布局. CSS3 是最新的 CSS 标准. 本教程向您讲解 CS

CSS3总结学习(一):CSS3用户界面

在CSS3中,新的用户界面属性有很多,本文重点介绍resize,box-sizing,offset. 浏览器支持,如下图,图片源于W3school 1.CSS Resizing 在css3,resize属性规定用户是否可以调整元素尺寸. 注释:如果希望此属性生效,需要设置元素的 overflow 属性,值可以是 auto.hidden 或 scroll. 语法: resize: none|both|horizontal|vertical; 值 描述 none 用户无法调整元素的尺寸. both

如何学习一门新语言

youtube上看了一个视频,介绍如何尽快的掌握一门新的语言: https://www.youtube.com/watch?v=FrMSSQRYS6I [5 principles, 7 actions] Action 1 : listen a lot, brain soaking 泡脑子 多听你要学习的语言,不管能不能听懂,要把脑子泡一泡: Action 2 : Focus on getting the meaning first, (even though don't know the wor

关于Normalize.css

之前做Bootstrap4的sharing时就了解过这个东西,刚好最近要用到,就深入的研究了一下. 简单点说,Normalize.css就是个CSS RESET(样式重置)的文件. 何为CSS RESET? *{ padding: 0; margin: 0; } 上面便是一个最简单的CSS RESET,而在实际的重构中,重置样式远远没有这么简单.一般的CSS RESET会如下. body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre, form,fiel

CSS3之Box-sizing浅谈

前段时间在做一个界面的时候遇到一个问题,给一个长宽都是100%的页面DIV设置了border之后,这个DIV的长宽竟然超出了100%,这是怎么回事呢?这对于精通CSS的老大们来说不算问题,可是对于刚入行的我来说就显得有些木讷,于是找了很多资料了解之后才解决这种问题,这里分享一下,告诫自己不断学习的重要性. 先看问题,这是我单独把这一问题的代码拿出来做的对比(原谅我一屏幕的 "原谅色"):    从以上三张图可以很清楚的知道,要给DIV设置border之后默认情况下边界的宽度会在DIV的

你第一个Electron应用 | Electron in Action(中译)

效果演示: 本章主要内容 构造并设置Electron应用 生成package.json,通过开发用Electron配置其工作 在你的项目中预先构建Electron版本 配置你的package.json去启动主进程 从主进程生成渲染进程 利用Electron沙盒,限制宽松的优点构建通常在浏览器无法构建的功能 使用Electron的内置模块来回避一些常见的问题 在第一章中,我们从高的层次上,讨论了什么是Electron.说到底这本书叫做<Electron实战>,对吧?在本章中,我们通过从头开始设置

html样式初始化

/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */ /** * 1. Change the default font family in all browsers (opinionated). * 2. Prevent adjustments of font size after orientation changes in IE and iOS. */ html { font-family:

h5 CSS RESET

/*! normalize.css v2.0.1 | MIT License | [git][4].io/normalize */       /* ==========================================================================        HTML5 display definitions        ============================================================

normalize.css可以对css初始化,不同浏览器可以统一初始样式

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ /* Document ========================================================================== */ /** * 1. Correct the line height in all browsers. * 2. Prevent adjustments of font