img默认是个行内元素,比如在img的前面或后面放一些文字,这些文字会与图片排在同一行。因此,当图片的前后存在一些空格或回车换行符时,它们会与图片一起成为同一块行内元素,从而会造成外面的div被撑得比你想象的尺寸要大一些,比如:
而如果是这样就不会:如果给img的css添加display:block属性,它就会变成块级元素(它会独占一行),其前后的空格、回车等也会被自动忽略,这样外面的div的尺寸就会保持与img一致。可以有多种方法实现的。比如可以给每个img设置不同的ID: 或者是不同的class: 还有一种更灵活的方式,但需要浏览器支持css3: 这种方法还有多种灵活的处理方式,比如: img:nth-of-type(odd) 会选择所有单数的图片(第1张、第3张、第5张……) img:nth-of-type(even) 会选择所有双数的图片(第2张、第4张、第6张……) img:nth-of-type(2n) 也是选择双数 img:nth-of-type(2n+1) 也是选择单数 img:nth-of-type(3n+1) 从第1张算起每3张取出1张图片(第1张、第4张、第7张……) img:nth-of-type(5n+3) 从第3张算起每5张取出1张图片(第3张、第8张、第13张……) 除了这个,css还有几十种不同的选择器,你百度搜一下 css选择器 就知道了。
div img{} 这样的话只有div内的img才会匹配这个样式,div本身不会的。
一、css图片水平居中。 1、利用margin: 0 auto实现图片居中,就是在图片上加上css样式margin: 0 auto 如下: 2、设置imgBox的样式如下: 3、此时的效果如下:(图片在容器内,水平居中) 二、css图片垂直居中。
1、css代码如下,使用flex布局实现。
2、页面代码HTML如下: 3、此时的效果如下:(垂直居中) 三、 css图片水平垂直居中。 1、利用flex布局实现css水平垂直居中,设计css代码如下: 2、Html代码如下: 3、此时的效果如下:(水平垂直居中) 扩展资料: 在容器上使用display: flex来告诉浏览器,这是一个flex布局的开始。然后给所有的item添加一个flex: 1的属性,来表明元素都是flex布局中的内容。 关于flex,最重要的就是要记住他有两条轴线(主轴、交叉轴),绝大部分属性都是依赖于轴线的方向。
如下图所示: 这样,容器内的元素会沿着主轴来平分所有的区域,就这样已经实现了一个多列等宽布局。