1, 内置函数复习
- 1.1 reduce
- #reduce 从可迭代对象里面不断的取值累加
- from functools import reduce
- li = [1,2,3,4,5,6]
- ret = reduce(lambda x,y:x+y,li)
- print(ret)
- res = reduce(lambda x,y:x+y,range(1,101))
- print(res)
- 1.2 sorted
- 1.2.1
按照年龄进行排序
- li = [
- {'name':'gold','age':'40'},
- {'name':'eva-J','age':'18'},
- {'name':'naza','age':'19'},
- {'name':'gaoxin','age':'20'},
- {'name':'yuanju','age':'50'},
- ]
- li2 = sorted(li,key=lambda x:x['age'],reverse=True)
- print(li2)
- 1.2.2
- # 去重, 并保持原来的次序
- li = [1,4,5,8,2,6,9,12,2,14,4,5,1,2,3]
- #方法一
- li2 = []
- for i in li :
- if i not in li2:
- li2.append(i)
- print(li2) # [1, 4, 5, 8, 2, 6, 9, 12, 14, 3]
- # 方法二
- li_new = list(set(li))
- li_last = sorted(li_new,key=li.index)# 按照 li 原来的顺序排序
- print(li_last)
1.3 zip 方法得到是一个迭代器, 里面的元素的数据类型是元组
- # 采用 dict 强制转化成字典
- keys = ['name','age','salary']
- values = ['andy',18,50]
- d= dict(zip(keys,values))
- print(d)#{'name': 'andy', 'age': 18, 'salary': 50}
- # 采用 list 强制转化成列表
- keys = ['name','age','salary']
- values = ['andy',18,50]
- ret = zip(keys,values)
- li = list(ret)
- print(li)#[('name', 'andy'), ('age', 18), ('salary', 50)]
- # 迭代器逐个取值的
- keys = ['name','age','salary']
- values = ['andy',18,50]
- ret = zip(keys,values)
- ret_iter = iter(ret)
- while 1:
- try:print(ret_iter.__next__())
- except StopIteration:
- break
2, 正式进入 CSS
1. 定义
html 超文本标记语言
CSS 层叠样式表 Cascading Style Sheets
2. 语法
标签选择器 {k1:v1,k2:v2}
3. CSS 代码存放的位置
1. 直接写在标签中的 style 属性
2. 在 head 标签中的 style 标签内
3. 写在单独的 SCC 文本中, 通过 link 标签引用
4. SCC 选择器
如何在 HTML 代码中找到相应的标签
1. 基本选择器
1. ID 标签选择器 -->#p1 {}
2. 标签选择器 -->div {}
3. 类选择器 -->.c1 {}
4. 通用选择器 -->* {}
2. 组合选择器
1. 子孙选择器 (后代选择器) -->div p {}
2. 儿子选择器 (紧挨着父标签的子标签) -->div>p {}
3. 毗邻选择器 (紧挨着的下面的标签) -->div+p {}
4. 弟弟选择器 (同级下面的所有标签) -->div~p {}
-->div~* {}
3. 属性选择器
1. 有某个属性的标签 -->div[title] {}
2. 有某个属性并且属性值等于给定的 -->div[title='hello'] {}
-->div[title^='hello'] {} 以 hello 开始
-->div[title$='hello'] {} 以 hello 结束
-->div[title*='hello'] {}
-->div[title~='hello'] {} 按空格分割之后的列表中是否含有
4. 分组和嵌套
1. 分组应用于多个选择器找到标签应用相同的样式
div,p {}
2. 嵌套
子孙 .c1 p {}
儿子 .c1>p {}
5. 伪类选择器
- /* 连接的默认样式 */
- a:link {color: red}
- /* 访问过的连接 */
- a:visited {color: yellow}
- /* 点击的一瞬间的样式 */
- a:active {color: #0000cc}
- /* 鼠标放上去之后的样式 */
- span:hover {color: deeppink}
- /* 文本框输入的样式 */
input:focus {"> 伪元素选择器
- div.c1:first-letter {color: red;font-size: 48px}
- p:before {content: '*';color: #0000cc}
- p:after {content: '[?]';color: deeppink}
5. 选择器的优先级
1. 当选择器相同的时候
谁最后加载谁生效!!
2. 选择器不同的时候
1. 选择器优先级的权重:
内联样式 (1000)> ID 选择器 (100)> class 选择器 (10)> 元素选择器 (1)
2. 不讲道理的! important
来源: http://www.bubuko.com/infodetail-2801796.html