2018-09-19 Day23 CSS布局

一、标准流

标准流:浏览器对标签默认的布局方式就是标准流。
标准流布局原则:

  • 块级标签:
    a、块级标签一个占一行(不管标签的宽度是否是浏览器宽度)
    b、默认宽度是父标签的宽度,默认高度是内容的高度。
    c、直接设置宽高有效

  • 行内标签:
    a、多个行内标签可以一行显示。
    b、默认宽高是内容的宽高。
    c、直接设置宽高无效。

  • 行内块标签:
    a、多个行内块标签可以在一行显示。
    b、默认宽高是内容的宽高。
    c、直接设置宽高有效。

display属性:转换标签的性质
block:块级
inline:行内
inline-block:行内块

注意:行内块和其他标签之间默认会有个间隙,而且无法消除,所以一般不建议使用。

二、浮动 -- float

通过给float属性赋值为 left 或者 right 来让标签浮动。浮动会让标签脱流,脱流后原来的标准流布局方式不适用了。
float:left; 按照浏览器的左上角为起点。
float:right按照浏览器的右上角为起点。

浮动的目的:让竖着显示的可以横着来(针对块)

浮动的效果:
一行可以显示多个;默认的宽高是内容的大小;可以设置宽度和高度

注意事项:
a、如果同一级的标签,后面的需要浮动,前面的也需要浮动,否则可能会出现一些显示问题。
b、浮动的标签不占位置,不浮动的占位置。

利用浮动产生文字环绕效果
结论:被环绕的标签浮动,文字对应的标签不浮动。

清除浮动:不是将标签的浮动给去掉,而是清除因为浮动而产生的高度塌陷的问题。

高度塌陷:在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高。
但是当为子元素设置浮动以后,子元素会完全脱离文档流,此时将会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷。
由于父元素的高度塌陷了,则父元素下的所有元素都会向上移动,这样将会导致页面布局混乱。

高度塌陷产生原因:父标签不浮动,子标签浮动,并且不设置父标签的高度,就会产生高度塌陷问题。

解决方案:
1、在后面添加一个div空盒子,设置样式为clear:both

<div id="" style="clear: both;">
</div>

2、给父标签添加样式,设置overflow的值为hidden。

3、万能清除法

            #father:after{
                display: block;
                clear: both;
                content: '';
                visibility: hidden;
                height: 0;
                
            }
            #father{
                zoom: 1;
            }

三、定位

CSS中可以通过left,right,bottom,top属性来设置标签上下左右的距离。但是要通过position属性设置参考对象。

absolute:相对第一个非static/initial(默认值)父标签进行定位。

relative:相对于自己在标准流中的位置来定位。(当标签本身不希望去定位,只是想让自己的子标签可以相对自己定位时使用。)

fixed:相对于浏览器定位。(滚动时位置相对于浏览器不变)

sticky:当网页的内容不超过一屏(不滚动),按照标准流定位;超过一屏就相对浏览器定位。

initial:默认值,没有相对定位。

技巧:当遇到某个方向的定位无效时,可以尝试让标签浮动然后定位。

四、盒子模型

html中所有可见的标签都是一个盒子模型:包括长和宽决定的content、padding、border、margin。
其中content、padding、border是可见的,margin是不可见的。


1、content(内容):设置width 和height影响的就是内容部分的大小。添加子标签、内容都是放在内容部分的。

2、padding(内边距):内容外围,可见部分,如果标签有背景颜色,那么这个部分的颜色和内容一致。

padding-left: 20px;
padding:10px; /*所有*/
padding:10px 20px; /*上下和作业*/
padding:10px 20px 30px 40px; /*顺时针*/

3、border(边框):border在padding的外围,如果没有padding,就在内容的外围,可以设置颜色。
border:宽度 风格 颜色
样式:solid(实线)、dashde(虚线)、dotted(点划线)double(双线)

4、margin(外边距):不可见。主要用来占位。

五、其他常用属性

1、字体相关属性

  • 字体颜色:color
  • 字体大小:font-size
  • 字体名:font-family
  • 字体加粗:font-weight:bolder(更粗的)、bold(加粗)、normal(常规)、100-900
  • 字体倾斜:font-style:italic、oblique、normal

2、文本修饰 -- text-decoration
none:取消修饰
underline:下划线
overline:上划线
line-through:删除线

3、对齐方式
text-align:left、right、center(文字水平方向居中)

margin:0px auto;(水平居中)
一行内容在垂直方向居中,可以通过将line-height的值设置为父标签的height值。(垂直居中)

height:40px;
line-height:40px;

4、首行缩进 -- text-indent
text-indent:2em
em代表一个空格的长度

5、字间距 -- letter-spacing
letter-spacing:2em

6、背景图片
格式:babackground-image:图片地址、是否平铺 x方向坐标 y方向的坐标 颜色
no-repeat/repeat/repeat-x/repeat-y(不平铺、平铺、x方向平铺、y方向平铺)

background-image: url(img/beauty.png) no-repeat center center yellow; center表示在水平或者垂直方向居中。
默认图片不够时,背景图片会平铺。

7、设置圆角

border-radius: 20px;
border-bottom-left-radius: 20px;

六、补充

制作网页首页title图标

一般写网页前一定要先将标签默认的margin值和padding值关闭。

*{ 
  margin:0;
  padding:0;
  position:relative;
}

实现元素居中
CSS中垂直居中的11种方式
CSS中元素6种水平居中

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,734评论 1 92
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 4,428评论 5 15
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,306评论 2 66
  • 哈希 简介 Laravel 的 Hash 假面对存储用户的密码提供了安全的 Bcrypt 加密工具哈希化。如果你使...
    Dearmadman阅读 1,932评论 0 0
  • 清晨,我正准备去上学的时候,突然发现地面上躺着一只灰灰的,长长的,可怕啊,扭来扭去的大蚯蚓。我吓得快速地躲在妈妈的身后。
    格格的歌阅读 151评论 0 0