29 May 18 z-index opacity CSS补充

29 May 18

一、每日面试

第一题:以下代码输出结果

def extend_list(v, li=[]):  #

    li.append(v)

    return li

list1 = extend_list(10)

print(list1)  # [10]

list2 = extend_list(123, [])

list3 = extend_list('a')

print(list1)  # [10, 'a']

print(list2)  # [123, ]

print(list3)  # [10, 'a']

print(list1 is list3)  # True

第二题:问以下代码的输出结果是什么?

list1 = ["a", "b", "c", "d", "e"]

print(list1[10:])  # []

第三题(1):如何打乱一个有序的列表?

list4 = [11, 22, 33, 44, 55]

import random

random.shuffle(list4)

print(list4)

第三题(2):如何将无序列表中元素排序

list4.sort()

print(list4)

# sort,random改的是原来的列表

第四题(1): 快速复制一个列表

list5 = [11, 22, [33, [44, 55]]]

list6 = list5

list5[2][1][0] = 444

print(list6)   # [11, 22, [33, [444, 55]]]

print(id(list6),id(list5))  # 4363820168 4363820168

第四题(2): 快速复制一个列表

list8 = [11, 22, [33, [44, 55]]]

list7 = list8[:]

list8[2][1][0] = 444

print(list7)  # [11, 22, [33, [444, 55]]]

print(id(list7), id(list8))  # 4363818376 4363820168

直接赋值、拷贝、深拷贝、切片赋值

二、Z-index:设置对象的层叠顺序,数值大的会覆盖在数值小的标签之上。z-index 仅能在定位元素上奏效。

应用:自制模态框

# modal一般放在body的直接标签中

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta http-equiv="x-ua-compatible" content="IE=edge">

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <title>自定义模态框</title>

  <style>

    .cover {

      

      position: fixed;

      top: 0;

      right: 0;

      bottom: 0;

      left: 0;

      z-index: 998;

    }

    .modal {

      background-color: white;

      position: fixed;

      width: 600px;

      height: 400px;

      left: 50%;

      top: 50%;

      margin: -200px 0 0 -300px;

      z-index: 1000;

    }

  </style>

</head>

<body>

<div class="cover"></div>

<div class="modal"></div>

</body>

</html>

三、外边距注意事项

# 上面的div设置margin-bottom为100px,下面的div设置margin-top为50px;这两者在页面上的距离是100px(以最大的为准);一般相邻两个标签,只对一个margin设置即可

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

   <style>

       body {

           margin: 0;

       }

       .c1 {

           width: 100%;

           height: 200px;

           background-color: red;

           margin-bottom: 100px;

       }

       .c2 {

           width: 100%;

           height: 400px;

           background-color: green;

           margin-top: 50px;

       }

   </style>

</head>

<body>

<div class="c1"></div>

<div class="c2"></div>

</body>

</html>

四、margin可以是负值

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>margin是负值</title>

   <style>

       body {

           margin: 0;

       }

       .c1 {

           height: 100px;

           width: 100px;

           background-color: red;

       }

       .c2 {

           height: 200px;

           width: 200px;

           background-color: green;

           margin-top: -50px;

       }

   </style>

</head>

<body>

<div class="c1"></div>

<div class="c2"></div>

</body>

</html>

五、opacity:用来定义透明效果。取值范围是0~1,0是完全透明,1是完全不透明。

# rgba()中的a参数只为背景颜色设置透明度;opacity 为整个标签元素设置透明度

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>opacity</title>

   <style>

       body {

           margin: 0;

       }

       .c1 {

           height: 600px;

           width: 600px;

           /*background-color: rgb(0,0,0);*/

           background: url("https://img02.sogoucdn.com/app/a/100520093/2e69a82e05466cfb-d2bd525cfca4e92e-9cbedf08db56887f4cbe71abcbb206df.jpg");

           opacity: 0.65;

       }

   </style>

</head>

<body>

<div class="c1">

   <div class="c2">c1里面的c2</div>

</div>

</body>

</html>

六、应用小技巧

1、在已有标签外围添加标签

 

2、规范化输出

3、dummyimage.com

https://dummyimage.com/200x300/000/fff.png&text=1233sad

 

七、小米商城示例

 

小米商城示例.html

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>小米商城示例</title>

   <link rel="stylesheet" href="mi.css">

</head>

<body>

<!-- 顶部导航条 开始-->

<div class="nav">

   <div class="container">

       <div class="nav-left">

           <ul>

               <li><a href="">小米商城</a></li>

                <li><a href="">MIUI</a></li>

                <li><a href="">loT</a></li>

                <li><a href="">云服务</a></li>

                <li><a href="">小爱开放平台</a></li>

                <li><a href="">金融</a></li>

                <li><a href="">有品</a></li>

                <li><a href="">政企服务</a></li>

                <li><a href="">Select Region</a></li>

           </ul>

       </div>

       <div class="nav-right">

           <ul>

                <li><a href="">购物车</a></li>

                <li><a href="">消息通知</a></li>

                <li><a href="">注册</a></li>

                <li><a href="">登录</a></li>

           </ul>

       </div>

   </div>

</div>

<!-- 顶部导航条 结束-->

<!-- 网站 顶部菜单 开始-->

<div class="top-menu">

   <div class="container">

       <div class="logo">

           <img src="https://dummyimage.com/234x55/FF6700/fff.png&text=mi.logo" alt="">

       </div>

   </div>

</div>

<!-- 网站 顶部菜单 结束-->

<!-- 首屏 开始-->

<div class="page-main"></div>

<!-- 首屏 结束-->

</body>

</html>

mi.css

/*

小米商城课上示例文件的样式

*/

/*通用样式区*/

body {

   margin: 0;

}

.clearfix:after {

   content: "";

   clear: both;

   display: block;

}

a {

   text-decoration: none;

}

ul {

   list-style-type: none;

   padding: 0;

}

/* 导航条 样式区*/

.nav {

   height: 50px;

   width: 100%;

   background-color: black;

   position: fixed;

   top: 0;

}

.nav a {

   color: #ccc;

}

.nav a:hover {

   color: white;

}

.nav-left li {

   float: left;

   margin-right: 15px;

}

.container {

   width: 1226px;

   margin: 0 auto;

}

.nav-right li {

   float: right;

   margin-left: 15px;

}

/*顶部菜单区*/

.top-menu {

   height: 88px;

   width: 100%;

   margin-top: 50px;

   padding-top: 20px;

}

猜你喜欢

转载自www.cnblogs.com/zhangyaqian/p/py20180529.html