美文网首页
css基础知识三

css基础知识三

作者: DCbryant | 来源:发表于2017-07-19 10:32 被阅读21次

    块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别

    块级元素:
    div h1 h2 h3 h4 h5 h6 p hr form ul dl ol pre table li dd dt tr td th

    行内元素:
    em strong span a br label code

    inline-block元素:
    input button select textarea

    从元素本身的特点来讲,可以分为不可替换元素和替换元素

    HTML 的大多数元素是不可替换元素,即其内容直接表现给用户端

    替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内容

    例如浏览器会根据<img>标签的src属性的值来读取图片信息并显示出来,而如果查看HTML代码,则看不到图片的实际内容;又例如根据<input>标签的type属性来决定是显示输入框,还是单选按钮等。

    HTML中的<img>、<input>、<textarea>、<select>、<object>都是替换元素。这些元素往往没有实际的内容,即是一个空元素

    替换元素一般有内在尺寸,所以具有width和height,可以设定。例如你不指定img的width和height时,就按其内在尺寸显示,也就是图片被保存的时候的宽度和高度。

    以下是测试:

    1. 块级元素可以包含文本,块级,行内元素,而行内元素只能包含文本和行内元素(a是例外,感觉可以包裹一切);


      块级元素、行内元素
    2. 块级元素单独占据一整行,行内元素占据的位置只有自身文本宽度的空间;


      此图同上
    3. 块级元素可以设置宽高,行内元素设置宽高无效;
      块级可设置宽高,行内无效
      4.块级元素的padding,margin值设置有效,行内元素padding,margin上下的值设置无效,但左右有效;
      此图行内元素margin上下无效,左右有效
      假象
      这个图初看起来貌似padding有作用,然后我百度了一下,以下是解释;当我们使用内边距时,只有左右方向有效;当我们设置四个方向的内边距时,对于该行内元素,确实显示出效果,但是竖直方向的内边距只有效果,对其他元素无任何影响。因此,行内元素的padding-top,padding-bottom和margin-top,margin-bottom是真的是无效;不过要注意一点,对于竖直方向的内边距该行内元素的内容范围是增大了,不过只是表象,对周围元素无任何影响。

    可以总结一下它们的特点:

    1. 块元素的特点:
      a.总是在新行上开始;
      b.高度、行高以及外边距和内边距都可控制;
      c.宽度默认是它容器的100%,除非设定一个宽度;
      d.他可以容纳内联元素和其他块元素。
    2. 内联元素的特点:
      a.和其他元素都在同一行;
      b.高,行高及外边距和内边距不可改变;
      c.宽度就是它的文字和图片的宽度,不可改变;
      d.内联元素只能容纳文本或者其他内联元素。

    那么块级元素。内联元素可以相互转换吗?答案是肯定的。
    以下是转换方法:
    display
    块元素默认display:block;行内非替换元素(a,span)默认为display:inline;行内替换元素(input)默认为display:inline-block;

    • display:none;不显示该元素,也不会保留该元素原先占有的文档流位置。
    • display:block;转换为块级元素。
    • display:inline;转换为行内元素。
    • display:inline-block;转换为行内块级元素。
      float(inline-block化)
      当把行内元素设置完float:left/right后,该行内元素的display属性会被赋予block值,且拥有浮动特性。行内元素去除了之间的莫名空白。
      position(inline-block化)
      当为行内元素进行定位时,position:absolute与position:fixed.都会使得原先的行内元素变为块级元素。

    什么是 CSS 继承? 哪些属性能继承,哪些不能?

    什么是CSS继承?
    答:继承就是子元素继承了父元素的CSS样式的属性
    什么属性能继承?
    1.字体:family,size,weight,line-height
    2.文本:letter-spacing,word-spacing,text-align, text-indent
    3.列表:list-style-type
    4.颜色:color,ps:a标签不能继承父元素的字体颜色,原因是a标签自己有默认字体颜色,会覆盖掉- 继承自父元素的字体颜色;
    什么属性不能被继承?
    1.display
    2.float
    3.padding和margin
    4.背景相关,比如颜色图片等

    以下是具体属性:
    不可继承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi。
    所有元素可继承:visibility和cursor。
    内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。
    块状元素可继承:text-indent和text-align。
    列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。
    表格元素可继承:border-collapse

    如何让块级元素水平居中?如何让行内元素水平居中?

    行内元素居中:给父元素添加text-align:center,此时父元素必须是块级元素
    块状元素居中:给该元素加上margin: 0 auto

    用 CSS 实现一个三角形

    三角形

    单行文本溢出加 ...如何实现?

    如下代码:

      white-space: nowrap;让该行不换行
      overflow: hidden;隐藏多余的
      text-overflow: ellipsis;变成...
    

    px, em, rem 有什么区别

    1. px(pixel,像素):是一个虚拟长度单位,是计算机系统的数字化长度单位,如果px要换算成物理长度,需要制定精度DPI(Dots Per Inch,每英寸像素数),在扫描打印时一般都有DPI可选。Windows系统默认是96dpi,Apple系统默认是72dpi。
    2. em(相对长度单位,相对于当前对象内文本的字体尺寸):是一个相对长度单位,最初是指字母M的宽度,故名em。现指的是字符宽度的倍数,用类似百分比,如:0.8em,1.2em,2em等。通常1em=16px。
    3. rem(root em):是CSS3新增的一个相对单位,这个单位引起了广泛关注。这个单位与em有什么区别呢?区别在与使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点与一身,通过它既可以做到只修改根元素就成比列的调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早的版本以外,所有的浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略rem设定的字体大小。

    解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?

    body{
      font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
    }
    

    字体大小为12px
    字体行高为1.5倍字体大小
    字体可在tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif 这些字体中选择(若都不存在,则为浏览器默认字体)
    当有空格或者Unicode码时,需要加引号

    \5b8b\4f53是字体的Unicode码,表示黑体

    实现以下5个效果

    1.第一个
    2.第二个
    3.第三个
    4.第四个
    5.第五个

    额外补充:

    box-shadow: h-shadow v-shadow blur spread color inset;
    对象选择器 {box-shadow:[投影方式] X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色}
    阴影demo

    相关文章

      网友评论

          本文标题:css基础知识三

          本文链接:https://www.haomeiwen.com/subject/yqgfkxtx.html