前端学习第三天- margin和浮动

想让盒子(div)居中

1 让盒子中的内容居中--文本或者行内,行内块元素水平居中:

text-align: center; 
/*垂直居中,line_height: 盒子高度 -->上下间距总是保持一致的*/

让盒子本身水平居中,而不是内容居中

margin: 0 auto; 
/*注意:
  margin 和padding是一样的,又上下左右四个值,写两个的时候表示前面一个值是上下外边距,后面一个值是左右外边距。
auto的意思是充满,如果,只有左边外边距是auto,也就是左边充满,相当于是向右对齐。因此如果左右都是auto,左右都充满,那就互相平分,也就是水平会居中。
*/

注意点 : margin:0 auto; 生效的两个条件:

  1. 必须是块级元素,块级元素默认占一行;
    2.这个块级元素必须指定了宽度,如果不指定,这个宽度是和父盒子一样宽的,最外层的话也就是和浏览器一样宽的,这时候居中没有任何意义。

CSS 默认去除浏览器内外边框

  * {
    margin: 0;
    padding: 0;
}
/*指定* 是为了方便,真正生产中的代买需要指定那些标签不需要内外边距,指定的速度比不指定的速度快一些*/

margin 的外边距合并的问题

1 如果一个盒子的下边距 margin-bottom: 20px; 在他下面的盒子的上边距是margin-top: 10px; 这样一般理解为上下间距为30px,但事实上,上下的外边距会合并为较大的外边距的值,也就是在这里上下边距只有20px。
这个问题是浏览器的特定行为,没办法解决,只能尽量避免,而且嵌套的外边距也会有这个问题。
2 注意点: 只有垂直方向的外边距 也就是 margin-top和margin-bottom会有这样的问题。水平方向的margin是没有这样的问题的。
3 回忆 : 内边距 padding 需要合并需要设置:

padding-collapse: collapse;

外边距 margin塌陷问题:

嵌套的两个盒子,如果内里面的盒子设置 margin-top: 50px; 会发现两个盒子同时下移了50px位置,这个叫做外边距塌陷。

解决方案有两种: 1 给父盒子和子盒子设置间隔,也就是说核心是让他们不要完全贴紧: 方案是:

 border: 1px solid xxx;
或者
padding-top: 1px; 
border-top:1px;
核心就是让父控件和子控件不要完全紧贴;

解决方案2 :

overflow: hidden; --还没搞明白,明白了再回来填坑。

一个关于padding的注意点

之前了解到,给一个设定了宽高的盒子设置padding值会撑开这个盒子的大小,这个时候为了保持设计稿的一致,就只能修改盒子的宽高,
但是 一个父盒子设定了宽高,一个子盒子没有设定宽高,这个时候给子盒子设定宽高是不会造成子盒子撑开,因为什么呢? 因为子盒子没有设定宽高,所以设置padding的时候不会撑开盒子大小,而且由于是子盒子,盒子默认宽高就是父盒子的宽高,设置padding之后,盒子会往里面收缩。

圆角边框 CSS3 特性 -- border-radius

border-radius: 10px; ---这个表示四个角额圆角长度为10px,这个值可以调,值越大,圆角的角度越大,也就越接近一个真正的圆。
如何成为一个真正的圆
barder-radius: 50%; 这就是一个圆
注意: border-radius: 1px 2px 3px 4px; 可以设定四个角的圆角大小,也就是和padding和margin是一样的,可以有一个值,两个值,三个值和四个值。

盒子阴影 box-shadow

1 这也是css3 的特性--一般也无所谓兼容性了,css3都兼容了。
2 box-shadow: 0 15px rgba(0,0,0, 0.1); 这个是小米的阴影,
➡️ 水平 垂直 模糊距离 阴影尺寸 颜色 inset等这个多属性,可以省略一些,比如上面个,到时候慢慢调就行。

浮动

1 normal flow 标准流

块级元素占一行,自上而下显示;
行内元素从左到又一次排列;

2 float 浮动

浮动的意思就是浮在上面,也就是他不占标准流布局的空间,他是在上面一层盖住的感觉,因此如果一个div变成float ,他就会覆盖在原来的布局上面,而原来的布局由于空出来一块div的距离,整体就会上去。

float : left | right; 浮动只有左右,没有上下
1 浮动的作用是 能够让多个div在一行内显示。
2 如果需要三个div,依次靠左一行显示,就是给每个div 的 float: left; 就会靠左对其,float不占标准布局的空间,但是float之间空间还是会根据float的方向进行分配,因此如果子盒子想要在父盒子靠右对齐;就可以使用 float: right;
3 float 时,边框是父盒子的边框,也就是移动的范围是在父盒子的边框内部,而且 不能越过父盒子的padding
4 float 有隐式的显示模式转换
  也就是说 块级元素 使用float后有行内块的特性,一行内可以显示多个;
        行内元素span 使用float后 有了行内块的特性,可以设置宽高。

记忆:
浮: 浮在其他盒子上面;
漏: 在标准流中没有位置;
特:和父盒子一起使用,默认有显示转换的特性。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容

  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,306评论 2 66
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,737评论 1 92
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,822评论 0 6
  • •前端面试题汇总 一、HTML和CSS 21 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? ...
    Simon_s阅读 2,220评论 0 8
  • 概述 在网易云课堂学习李南江老师的《从零玩转HTML5前端+跨平台开发》时,所整理的笔记。笔记内容为根据个人需求所...
    墨荀阅读 2,332评论 0 7