美文网首页
第三次作业

第三次作业

作者: 赵雪儿 | 来源:发表于2017-01-20 23:31 被阅读0次
    1.内联元素如何转化成为块元素?

    让内联元素产生浮动或者将它的display属性值设置为block即可。
    display:block ; 显示为块,使内联元素具备块属性标签的特性

    2.元素类型有哪些?他们的特征分别是什么?
    块元素:display:block ;

    1.没有设置宽度时,默认撑满一行。
    2.默认块元素独占一行。
    3.支持所有CSS命令。

    内联元素:display:inline;

    1.宽高由内容撑开。
    2.不支持宽高。
    3.一行内可以继续显示跟同类的标签。
    4.不支持上下的margin。
    5.代码换行被解析。

    内联块元素:display:inlineblock;

    1、块元素能在一行显示。
    2、内联元素支持宽高。
    3、没有宽度的时候由内容撑开宽度。

    3.清除浮动有哪些方式?你最喜欢哪一种?为什么?
    clear

    clear:left (左)right (右)both (左右两边)none (没有)inherit (继承);元素的某个方向上不能有浮动元素
    clear:both; 在左右两侧均不允许有浮动元素。

    加高度

    问题:高度不定时不方便清除,扩展性不好。

    父级浮动

    问题:页面中所有元素都加浮动,margin左右auto失效(floats bad !)

    inline-block 清浮动方法:

    问题:margin左右auto失效;

    空标签清除浮动

    问题:IE6 最小高度 19px;(解决后IE6下还有2px偏差)

    br清除浮动 <br clear="all"/>

    问题:不符合工作中:结构、样式、行为,三者分离的要求。

    after伪类清除浮动方法 给浮动元素的父级加after伪类

    after伪类: 元素内部末尾添加内容;
    after{content"添加的内容";} IE6,7下不兼容
    zoom 缩放
    a.触发 IE下 haslayout,使元素根据自身内容计算宽高。
    b.FF 不支持;

    clear:after{content:'';display:block;clear:both;}
    clear{zoom:1;}
    
    overflow:hidden 清浮动方法;给浮动元素的父级加overflow

    问题:需要配合 宽度 或者 zoom 兼容IE6 IE7;
    overflow: scroll | auto | hidden;
    overflow:hidden;溢出隐藏(裁刀!)(超出父级隐藏)
    overflow:scroll;(超出父级有滚动条)

    本人喜欢overflow:hidden 清浮动方法:虽然此方法有一定的局限性,不过overflow:scroll;这条命令比较人性化。每个方法都需要学习,具体环境具体考虑。

    4.什么是BFC?如何才能得到一个BFC?

    BFC (block formatting context) 块格式化上下文 标准浏览器
    a.float的值不为none。
    b.overflow的值不为visible。
    c.display的值为table-cell, table-caption, inline-block中的任何一个。
    d.position的值不为relative和static。
    e.width|height|min-width|min-height:(!aotu)

    5.Postion的值有哪些?

    position:relative | absolute | fixed | static | inherit;
    position:absolute; 绝对定位
    position:fixed; 固定定位
    position:static ; 默认值
    position:inherit ; 从父元素继承定位属性的值 (不兼容)
    position:relative; 相对定位

    6.说一下绝对定位、相对定位和固定定位的区别?

    position:relative; 相对定位
    *需要谁移动就给谁加定位
    a.不影响元素本身的特性;
    b.不使元素脱离文档流(元素移动之后原始位置会被保留);
    c.如果没有定位偏移量,对元素本身没有任何影响;
    d.提升层级
    定位元素位置控制
    top/right/bottom/left (上 右 下 左)定位元素偏移量。
    top:200px; 上部留有200px。
    left:200px; 左侧留有200px。

    position:absolute; 绝对定位
    a、使元素完全脱离文档流(元素移动之后原始位置不会被保留);
    b、使内嵌支持宽高;
    c、块属性标签内容撑开宽度;
    d、如果有定位父级相对于定位父级发生偏移,没有定位父级相对于document(浏览器可视区域的)发生偏移;
    e、相对定位一般都是配合绝对定位元素使用;
    f、提升层级

    position:fixed; 固定定位
    与绝对定位的特性基本一致,差别是始终相对整个文档(浏览器可视区域的)进行定位;问题:IE6不支持固定定位;

    position:fixed;
    right:0;              可直接定位方向
    bottom:0;
    
    7.怎么改变一个div的层级,写出代码让div1在div2下。

    代码从上往下执行,后面的能覆盖前面的,定位元素默认后者层级高于前者;改变兄弟标签之间层级最好用z-index:number;来定位层级。为了让div1在div2后执行,需要提升div1的等级,代码如下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style>
        body{margin:0;}
        #div1{width:50px;height:50px;background:red;position:absolute;z-index:1;top:50px;}
        #div2{width:50px;height:50px;background:yellow; position:relative;}
    </style> 
    </head>
    
    <body>
    <div id="div1">div1</div>
    <div id="div2">div2</div>
    </body>
    </html>
    
    
    8.如何实现层叠的div1与div2,上面div1不透明下面div2透明?

    标准浏览器透明度设置: opacity:0~1; (完全透明~不透明)
    父级加透明度子级也会被继承。
    IE浏览器6.7下的透明度设置: filter:alpha(opacity=0~100); (完全透明~不透明)
    代码如下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style>
        #div1{width:100px;height:100px;background:red;position:absolute;z-index:1;}
        #div2{width:100px;height:100px;background:black; position:absolute;top:20px;left:20px;opacity:0.5;}
    </style> 
    </head>
    
    <body>
    <div id="div1">div1</div>
    <div id="div2">div2</div>
    </body>
    </html
    
    9.合并行属性,合并列属性

    colspan 属性规定单元格可横跨的列数。
    <td colspan="2"></td> 合并两个单元格
    rowspan 属性规定单元格可横跨的行数。
    <td rowspan="2"></td> 合并两个单元格
    合并的数量+剩余的数量=总数
    一行合并删当前行,跨行合并删除当前行的其他行。

    10.让div水平垂直居中

    margin:50%;

    相关文章

      网友评论

          本文标题:第三次作业

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