• 任务四:定位和居中问题


    一、任务目标:

    • 实践HTML/CSS布局方式
    • 深入了解position等CSS属性

    二、任务描述

    • 实现如图效果(见文章最后)
    • 灰色元素水平垂直居中,有两个四分之一圆位于其左上角和右下角

    三、任务注意事项

    • 思考不同情况下(如灰色高度是根据内容动态变化的)水平垂直居中的解决方案
    • 动手试一试各种情况的组合,父元素和子元素分别取不同的position值。思考position属性各种取值的真正含义,尤其是absolute究竟是相对谁而言的
    • 注意测试不同情况,尤其是极端情况下的效果
    • 调节浏览器宽度,灰色元素始终水平居中
    • 调节浏览器高度,灰色计始终垂直居中
    • 调节浏览器高度和宽度,黄色扇形的定位始终准确
    • 其他效果图中给出的标识均被正确地实现

    代码实现: 

    <!DOCTYPE html>
    <html>
    <head>
        <title>定位和居中问题</title>
        <meta charset="utf-8">
        <style type="text/css">
            body {
                padding:0;
                margin:0;
            }
            .container {
                background:#ccc;
                width:400px;
                height:200px;
                position:absolute;
                left:50%;
                top:50%;
                margin-left:-200px
                margin-top:-100px;
            }
            .round1,.round2 {
                width:50px;
                height:50px;
                background:#fc0;
            }
            .round1 {
                position:absolute;
                left:0;
                top:0;
                border-radius:0 0 50px 0;
            }
            .round2 {
                position:absolute;
                right:0;
                bottom:0;
                border-radius:50px 0 0 0;
            }
        </style>
    <body>
        <div class="container">
            <div class="round1"></div>
            <div class="round2"></div>
        </div>
    </body>
    </html>

    注意:四分之一圆的实现方式,其中一个角的radious值等于正方形块的边长,其余值为0。

            这种实现垂直的方式,需要知道灰色块的高度和宽度,所以不能实现灰色块高度随内容动态变化的要求。可以做如下更改:

            把margin-left、margin-right两条语句改成如下,这样可以不设置container的height和width值,让其高度宽度随里面面容动态变化,灰色块也仍然是居中的。

    transform:translate(-50%,-50%)

            

    四、提交作业

    代码地址:https://github.com/zhoujie1986/IFE/tree/master/task4

  • 相关阅读:
    在 Xcode 6 中使用矢量图( iPhone 6 置配 UI)
    在Xcode中使用Git进行源码版本控制
    UIAlertController Changes in iOS 8
    iOS8需要兼容的内容
    iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)
    一些被提问频率最高的12个php面试题,以及对应的常规回答。
    MYSQL 优化常用方法(转载)
    mysql 性能优化方案 (转)
    练手mysqlbinlog日志恢复数据(centos6.5 64,mysql5.1)
    cnblogs博客申请完毕,以后再这里安家落户
  • 原文地址:https://www.cnblogs.com/haidaojiege/p/6838594.html
Copyright © 2020-2023  润新知