定位与层级

1. 定位 position

1.1 静态定位 static

每个元素的默认值,将元素放入它在文档布局流中的正常位置。

1.2 相对定位 relative

开启定位后,可以使用top、right、bottom,left四个属性设置偏移量。选择一个垂直方向和竖直方向上的偏移量即可为一个元素定位。

要点

  • 相对定位的元素不会脱离文档流
  • 开启相对定位后,如果不设置偏移量,元素不会发生任何变化
  • 相对定位是相对于元素在文档流中原来的位置进行定位
  • 相对定位会使元素提升一个层级
  • 相对定位不会改变元素的性质

浮动与BFC

1. 浮动的工作原理

浮动会脱离正常的文档流,并吸附到其父容器左边,正常布局中位于浮动元素下的内容会围绕着浮动元素

2.可选值

效果
none 默认值,元素默认在文档流中排列
left 元素会立即脱离文档流,向页面的左侧浮动
right 元素会立即脱离文档流,向页面的右侧浮动

Java的字符串操作

一、比较

语言 操作 形式 机制 线程安全性
c/c++ char* 字符指针 通过手动修改指针指向的内存空间修改字符串 未知
c/c++ String 容器类 内部使用char数组存储字符,但内存管理,分配和null终止都由字符串类本身来处理 并发的读操作是线程安全的
Java String 1. String a = “a”,是以字面常量的形式储存在常量池中
2. new String(“a”) 创建的以对象的形式存放在堆中
对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象 安全
Java StringBuilder 对象 所有操作都在原有的对象上进行 不安全
Java StringBuffer 对象 所有操作都在原有的对象上进行 安全

仿网易云音乐的对话气泡框

主要就是对话框小三角的实现,效果如下

1

主要难点就是三角形的实现,有两种思路,一种是利用border,网易云音乐是用两个 ◆ 层叠显示边框的,下面是核心代码

html

1
2
3
4
5
6
7
8
<div class="comment">
<span class="darr">
<i class="bd"></i>
<i class="bg"></i>
</span>
<a href="#">liang</a>
<span>嘤嘤嘤呀呀呀呀呀呀晕晕晕晕</span>
</div>

css

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
.comment {
position: relative;
width: 200px;
padding: 10px 15px;
background-color: #f4f4f4;
text-align: left;
border: 1px solid #dedede;
}

.darr {
position: absolute;
top: -7px;
left: 20px;
font-size: 15px;
line-height: 14px;
}

i {
font-style: normal;
position: absolute;
top: 0;
left: 0;
}

.bg {
color: #f4f4f4;
top: 1px;
}

// 边框
.bd {
color: #dedede;
}