您现在的位置是:网站首页> 编程资料编程资料
CSS 模拟float实现center文字左右环绕图片的效果css实现文字居中两边横线效果的示例代码CSS设置文字图片垂直居中的方法总结深入理解CSS行高line-height与文本垂直居中的原理css实现移动端图片文字水平居中CSS实现同一行的图片和文字垂直居中对齐的方法DIV+CSS中让布局、背景图片、文字内容居中的方法css实现文字图片垂直居中效果CSS解决文字与图片不能水平居中对齐的问题纯css多种方法实现div中单行文字、多行文字及嵌套div垂直水平居中css 实现文字垂直居中
2021-09-03
1176人已围观
简介 这篇文章主要介绍了CSS 模拟float实现center文字左右环绕图片的效果的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
什么是文字左右环绕图片?就是下图的效果:

效果的CSS代码可以点击这里 查看
在CSS中,并没有float: center这种设置,但是我们可以通过一些小技巧来模拟出类似的效果。
经常会有小伙伴问:有float: left和right,为什么没有float: center?我的答案是:
1.text-align: center已经可以实现内联元素的居中效果
2.在一行中使文字环绕显示在图片的两侧,这种效果浏览器处理起来是非常困难的。除非将文字显示为两列,但这是另一个问题
3.当涉及到文本时,float实际上应该被称为环绕,float:left的意思是“将这个元素放置在容器的左侧,并将其右侧的所有内容都环绕其显示”,在这种情况下,我们讨论的float:center实际上是两侧环绕,这会带来一系列的问题,比如如何确定元素在容器中的“深度”?
为了模拟实现float: center的效果,我们通过创建两个div将文字划分为两列,其中居中的图片写在第一个div中:
京都位于本州岛的中心附近,在王位移到江户...
因此,京都许多保存下来的地方都是联合国教科文组织世界遗产,包括...
首先,我们设置两个div即.leftcol和.rightcol元素为display: table-cell,同时将容器.container元素设置为display: table:
div#container { display: table; width: 80%; max-width: 900px; /* 容器最大宽度900px */ margin: 0 auto; line-height: 1.5; } div#leftcol, div#rightcol { display: table-cell; padding: 1em; } div#container img { width: 55%; /* 图片的宽度是第一列div宽度的55% */ height: auto; }这样,文字就显示成为表格的两列了:

图片会按照其该有的样式显示在第一列的顶部左侧,并且底部与文字的第一行的基线对齐。
接下来,如果给图片设置一个float:right,它就会在第一个div中右侧浮动,并且文字会环绕在图片的左侧显示:

到这里,我们实现了一个最传统的布局:两列文字,其中一列包含一张浮动的图片。
下面,就要使用一些技巧来实现左右环绕的文字效果了。
第一步,通过设置margin-right属性负值,将图片右移一定的距离:
div#container img { float: right; width: 55%; height: auto; margin-right: -20%; /* 图片向右移动第一个div宽度20%的距离 */ margin-left: 20px; margin-bottom: 20px; }margin-left和margin-bottom属性设置图片与左侧和下方的文字都间距20px。
这个时候图片会和第二列的文字显示重合了:

第二步,通过:before伪元素在第二个div中生成一个元素,它不包含任何内容,仅仅是为了浮动后让文字环绕它。
div#rightcol:before { content: " "; float: left; width: 25%; padding-top: 102%; }这个伪元素被设置为左浮动,并且它的宽度与图片右移的距离加起来刚好是图片的宽度。
padding-top属性设置的稍微大一点,这样文字与图片能够空出一些距离。
如果给这个没有任何内容的伪元素添加一个红色的边框,我们就可以看到它的位置:

这个空伪元素的实际作用就是将与图片重合的文字隔开,并使它们环绕,这样就模拟出了右侧文字环绕图片的效果,而实际上文字环绕的是伪元素。
这种环绕方式有一个限制,就是图片必须位于div的顶部,我们不能在垂直方向上任意放置图片。
最后,再设置一些美化的样式和自适应的代码,最终的效果就实现了:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- SASS 中变量的默认值的使用方法sass(scss)的安装与使用教程sass简介_动力节点Java学院整理详解CSS的Sass框架中代码注释的编写方法利用CSS的Sass预处理器(框架)来制作居中效果深入解析CSS的Sass框架中混合宏的使用使用Sass来编写面向对象的CSS代码CSS制作框架 Sass 3.4.4 今日发布 学习CSS预处理器:Sass和less进行对比
- 纯CSS实现单一div的正多边形变换
- 使用CSS变量实现炫酷惊人的悬浮效果CSS3实现的上升悬浮的粒子闪烁发光动画特效源码纯CSS3实现发光的悬浮荧光屏动画效果源码css实现悬浮效果的阴影的方法示例jQuery+CSS3实现的可拖拽悬浮弹性菜单特效源码css3实现的鼠标悬浮3D转动二级下拉导航菜单动画特效源码css3实现的多种3d纸张鼠标悬浮特效源码CSS3按钮鼠标悬浮实现光圈效果源码CSS实现鼠标悬浮出现遮罩层示例源码基于CSS3实现右侧悬浮在线客服源码CSS3实现网页右侧悬浮固定二维码扫描与在线客服等功能特效源码
- 从css 3d说到空间坐标轴附源码纯CSS3实现的3D阴阳八卦(太极)图旋转动画效果源码纯CSS3实现的3D木质尺子旋转动画效果源码CSS3实现鼠标滑过3D样式图片层叠切换动画特效CSS3实现鼠标滑过图片3D旋转动画特效源码纯CSS3实现3D展开动画的图标菜单特效源码CSS3实现鼠标悬停展开3D图标菜单特效源码纯CSS3实现风浪中前行的3D海盗船动画效果源码纯css3实现的3D宝贝猪猡动画效果源码
- rem适配移动设备的方法示例Html5移动端适配IphoneX等机型的方法浅谈移动端适配大法详解如何使用image-set适配移动端高清屏图片移动 web 端屏幕适配(rem)详解H5 活动页之移动端 REM 布局适配方法html5实现移动端适配完美写法手机端用rem+scss做适配的详解移动端适配 使px自动转换rem
- 详解CSS实现仿Windows10鼠标照亮边框效果纯CSS3制作的鼠标悬停时边框旋转鼠标经过图片显示边框的CSS代码
- css实现发光文字及一点点js特效 CSS3制作炫酷的自定义发光文字实现带CSS混合模式的JS视觉差轮播图特效HTML+CSS+JS实现键盘导航源码特效 js和css3实现带反光特效按钮插件js和CSS3实现带详情页面的炫酷网格布局特效js和CSS3实现缩略图全屏展开特效源码JS和CSS3实现点击展开页面动画特效
- 用css实现正方形div 的两种方法css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局CSS实现一个自适应的正方形的方法示例
- CSS3 transforms应用于背景图像的解决方法CSS控制背景图像平铺实现边框阴影效果学习CSS的背景图像属性background-CSS教程-网页制作-网页教学网css3背景图片透明叠加属性cross-fade简介及用法实例
- 纯CSS3制作页面切换效果的实例代码怎样实现H5+CSS3手指滑动切换图片的示例代码css实现导航切换的实例代码用CSS实现Tab页切换效果的示例代码CSS实现Tab页切换实例代码CSS使用classList实现两个按钮样式的切换
京都位于本州岛的中心附近,在王位移到江户...
