述
在我们日常的书写代码中,经常使用到float:left/right和position:absoulte/fixed,我们都知道这几个CSS样式都能使HTML中的元素脱离文档流(normal-flow),但是他们脱离文档流之后的效果是否相同呢?
文档流与文本流
文本流,简单来说就是元素内部的一系列的字符的排列规则。
文档流,英文是normal flow,又翻译为常规流,标准流,正常流,普通流等。
文档流指的是HTML中元素在计算布局排版的过程中,所有处于文档流中的元素会自动地从左到右(非块级元素),从上到下(块级元素)的排列规则。
元素在排版中的定位类型分为三种:
(1)文档流:块级格式化的块级盒子, 行内格式化的行内盒子以及相对定位的块级盒子和行内盒子
(2)浮动(float)
换流的作用就是将我们的字节流转换成字符流
字节流是可以处理一切内容的,包括图片,音频,视频,也包括纯文本,在很多系统和框架的底层返回给我们的都是字节流(有时候我们使用字节流处理并不方便,这就是我们为什么要转换字符流的原因)
System.in,System.out都是字节流,因为我们键盘输入还是输出的都是字符串,所以我们可以对它进行转换。
在我们的底层,如果是纯文本的话就涉及到一个东西是字符集。将字节转成字符叫做解码(在解码的过程中就涉及到字符集的问题,如果工程的字符集跟源头(文件)的字符集不统一就会出现乱码),所以这个时候我们最好可以指定字符集
从字节流到字符流的转换
只要我们看见Reader都建议加一个BufferedReader
将写入的字符编码为字节
讲一下什么使用字节流,什么时候使用字符流
其实底层都是字节,我们使用字符是为了处理一些文本和字符串提高性能字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点 所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列
字节流和字符流的使用:
Java IO流中提供了两种用于将字节流转换为字符流的转换流。其中InputStreamReader用于将字节输入流转换为字符输入流,其中OutputStreamWriter用于将字节输出流转换为字符输出流。使用转换流可以在一定程度上避免乱码,还可以指定输入输出所使用的字符集
讲一下缓存流和转换流的结合,看见Reader我们就可以使用缓存流提高性能
使用转换流实现字节到字符的转换以及输入和输出
· 节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader.
· 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。
讲一下什么是节点流
字符流和字节流就可以叫做节点流
出现乱码的原因有两种:
1.字节数不够出现乱码
2.字符集不统一出现乱码
html文件的下载,如何使用字节流,如何使用转换流
在java中文件的传输其实就是靠流来实现的,网络流也是属于字节流,所以我们先使用字节流
我觉得写的时候应该是全部都写出来才写的,具体debug才知道,我这里就不弄了
为什么读取的时候乱码,写入的时候不乱码
忽然一下子自己就懂了,总之写入的时候只要讲字符集设置的和源头的文件一致就可以了
先,我们来看一下什么是瀑布流布局效果,比如电商网站 蘑菇街
原理图:
在一个大盒子里,放置多个小盒子,小盒子的大小可以不一致,长短不一样,呈现一种瀑布流的效果。
使用CSS3S实现只需要如下4步:
1. 准备图片素材
2. 书写相应HTML结构
3. 了解CSS 多栏(Multi-column) 属性
4. 使用CSS 多栏属性完成瀑布流布局
*请认真填写需求信息,我们会在24小时内与您取得联系。