zoukankan      html  css  js  c++  java
  • Web前端基础学习-2

    盒子模型

    在页面中,我们将所有的元素全部看做是一个盒子,页面布局就是将大大小小不同的盒子堆砌在一起,而一个盒子由以下几部分组成:

    padding:内边距,内容到边框的距离;

    margin:外边距,其他盒子到当前盒子的边框的距离;

    border: 边框;

    所以一个元素在页面中实际所占的空间是:

    内容+padding+border+margin(注意:padding/margin/border上下或者左右都有,所以计算时要算上设置的值得两倍;)

    怪异盒子模型:

    怪异盒子模型所设置的宽高即为其在页面中最终所占的位置,边框、内外边距所占的位置越大则内容区域越小。

    开启怪异盒子模型的方法:box-sizing:border-box;

    其最先由IE浏览器提出并使用,后被广泛使用。

    margin塌陷:当使用margin来调整两个元素之间的距离时,并不会以两个元素之间的margin之和来表示,而是以两个元素的margin最大值为准。

    解决的方法:触发BFC(会计格式化上下文)

    页面中实现多出内容省略号显示的方法(CSS):

    首先为容器设置一个宽度;

    然后设置文本内容不换行:white-space:nowrap;

    之后是设置溢出隐藏:overflow:hidden;

    最后则是在内容最后显示省略号:text-overflow:ellipsis;

    tips:以上方式仅对单行文本溢出有效(不建议使用)

    定位

    相对定位:

    position:relative;

    设置了相对定位之后,元素并没有进行位移,本质上也没有任何变化。

    相对定位形影分离,元素的位置不会改变,影子移动到用户所设定的位置。

    相对定位的参考点是元素本身,也就是相对于设置了相对定位的元素进行了多少移动,所以当元素进行移动的时候,其影子也会跟着移动。

    绝对定位:

    position:absolute;

    绝对定位移动的是元素本身;

     绝对定位的参考点是由其本身向上找,第一个拥有定位属性的祖先元素,当其所有的外层容器都没有定位元素的时候,默认为根元素。

    绝对定位以根元素为参考时定位的是首屏左上角,定位值默认为auto,bottom是首屏的下方。

    子元素如果设置了绝对定位,最好为父元素设置一个相对定位(父元素设置position:static并不能作为子元素绝对定位的参考)。

    固定定位:

    position:fixed;

    固定定位是相对于浏览器窗口的定位,定位效果类似于平时网页上弹出的小广告的效果,页面滚动而固定定位的元素完全不动。

    粘性定位:

    position:sticky;

    因兼容性太差,这里不多做赘述。

    tips:固定定位与绝对定位脱离标准文档流,相对定位并不会脱离标准文档流,当然,固定于绝对定位也是脱离文本流的,不会出现类似浮动所产生的字围效果。

    bfc渲染规则:

    1、内部的box会在垂直方向一个接一个的放置;

    2、box垂直方向距离由margin决定,同一个bfc的两个相邻box会发生margin塌陷;

    3、每个元素的marginbox的左边与包含块borderbox的左边相接触;

    4、bfc区域不会与float box重叠;

    5、bfc就是一个隔离的独立容器,里面元素无法影响外面,反之亦然;

    6、计算bfc高度时,浮动的元素也会被算上(所以触发bfc可以消除浮动的影响)。

    css当中经常使用的六种文本样式

    css 文本样式是相对于内容进行的样式修饰,下面来说下几种常见的文本样式。

    首行缩进

    首行缩进是将段落的第一行缩进,这是常用的文本格式化效果。一般地,中文写作时开头空两格,类似于此。

    该属性的值是允许为负值的。

    语法:

    text-indent:<length> | <percentage> | inherit

    tip:初始值为0;

    应用于: 块级元素(包括block和inline-block)

    继承性: 有

    百分数: 相对于包含块的宽度

    案例:首字符下沉

    div{
         200px;
        border: 1px solid black;
        text-indent: 0.5em;
    }
    div:first-letter{
        font-size: 30px;
        float: left;
    }  

    水平对齐

    水平对齐是影响一个元素中的文本的水平对齐方式。

    语法:

    text-align: left | center | right | justify | inherit

    初始值: left

    应用于: 块级元素(包括block和inline-block)

    继承性: 有

    对于IE7-浏览器来说,使用text-align不仅会改变文本的水平对齐方式,也会改变后代块级元素的水平对齐方式

    字间隔

    字间隔是指单词间距,用来设置文字或单词之间的间距。实际上,"字"表示的是任何非空白符字符组成的串,并由某种空白符包围。

    注意:单词之间用空格分开,单词之间的间距 = word-spacing + 空格大小

    注意:字间隔可为负值

    语法:

    word-spacing: <length> | normal | inherit

     初始值: normal(默认为0)

     应用于: 所有元素

     继承性: 有

    字母间隔

    字母间隔是指字符间距

    注意:字母间隔可为负值

    letter-spacing:<length> | normal | inherit

    初始值: normal(默认为0)

    应用于: 所有元素

    继承性: 有

    文本转换

    文本转换用于处理英文的大小写转换。

    语法:

    text-transform:uppercase(全大写) | lowercase(全小写) | capitalize(首字母大写) | none | inherit

    初始值: none

    应用于: 所有元素

    继承性: 有

    文本修饰

    文本修饰用于为文本提供修饰线。

    注意:文本修饰线的颜色与文本颜色相同。

    语法:

    text-decoration:none | [underline(下划线) || overline(上划线) || line-through(中划线)] | inherit

    初始值: none

    应用于: 所有元素

    继承性: 无

    在首行缩进(text-index)、水平对齐(text-align)、字间隔(word-spacing)、字母间隔(letter-spacing)、文本转换(text-transform)、文本修饰(text-decoration)这6种文本样式中,首行缩进(text-index)和水平对齐(text-align)只能够应用于块级元素(包括block和inline-block),这是最应该注意的地方。

  • 相关阅读:
    08-01集合运算
    07-03成员运算符
    07-02集合
    07-01结构与封装
    06-01字符串格式化.md
    06-03线性结构与切片
    06-02字符串与bytes
    05-02命名元组
    05-01元组
    04-01列表与常用操作
  • 原文地址:https://www.cnblogs.com/h-kj9527/p/11417417.html
Copyright © 2011-2022 走看看