什么是文字左右环绕图片?就是下图的效果:

效果的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的顶部,我们不能在垂直方向上任意放置图片。

最后,再设置一些美化的样式和自适应的代码,最终的效果就实现了:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

html图片靠右浮动 文字左侧环绕,CSS 模拟float实现center文字左右环绕图片的效果...相关推荐

  1. html图片靠右浮动 文字左侧环绕,CSS实现模拟float: center文字左右环绕图片的效果...

    什么是文字左右环绕图片?就是下图的效果: 效果的CSS代码可以点击这里查看 在CSS中,并没有float: center这种设置,但是我们可以通过一些小技巧来模拟出类似的效果. 经常会有小伙伴问:有f ...

  2. html图片靠右浮动 文字左侧环绕,css怎么让文字环绕图片?

    文字环绕图片,在Word里只要click一下右键,调一下属性就可以了.但在HTML文档里就没有直接属性了.因此我们可以借助CSS来实现这一效果. 我们先设定float的参数,如果图片需要左对齐设为le ...

  3. html图片靠右浮动 文字左侧环绕,关于html:将图片浮动到右下角,文字环绕

    我有一个带有段落和标题的文本容器. 我想在页面的底部将图像浮动到页面的右侧,而文字环绕图像. 图像的底部应与最后一段的底部齐平. 页面宽度是可变的(响应),但是图像尺寸是固定的. 是否可以在HTML和 ...

  4. html文字段落缩进,CSS text-indent段落首行文字缩进分享

    DIV CSS text-indent段落首行文字缩进,CSS段首缩进,可控制缩进距离样式教程篇 让每个段落首行开头文字缩进,如缩进2个文字距离样式,我将用到text-indent属性样式. .div ...

  5. php中的文字排版问题,CSS布局中常用的文字排版相关属性详解

    本篇文章给大家带来的内容是关于CSS布局中常用的文字排版相关属性详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. CSS布局中常用的文字排版相关属性详解 一.设定文字字体.颜色.大 ...

  6. css float(脱离正常流:向左/右浮动直到父元素/另一float, 不占空间)

    浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止.由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样.

  7. CSS样式 float浮动用法

    CSS样式 float浮动用法 前言 Css样式的float浮动属性,用于设置标签对象(如:<div>标签盒子.<span>标签.<a>标签.<em>标 ...

  8. 设置图片元素上下垂直居中的7种css样式_赵一鸣博客

    设置图片元素上下垂直居中的7种css样式 阅读(9548) @2018-07-15 14:13:34 图片.文字左右居中很简单,只需要以下代码: 1 text-align:center; 文字上下居中 ...

  9. html中左浮动怎么写,div css float浮动用法(left right)

    div+css中float认识及css float用法,DIV CSS float浮动知识用法与float浮动教程篇 Css样式的float浮动属性,用于设置标签对象(如: 标签盒子.标签.标签.标签 ...

最新文章

  1. ASP.NET 快乐建站系列 -- 1. 十五分钟建立精美网站
  2. 详细介绍Python中的“魔术方法“__XXX___; 概述__str__()方法;__new__()方法; 三. __ new__ 和__init__的区别
  3. 极致的线上产品设计与终极数据分析工具,两者缺一不可(下)
  4. 用SSDT方法恢复冒险岛的部分函数
  5. 弹框在一个很的长页面居中显示
  6. ZKEACMS for .Net Core 深度解析
  7. 金字塔原理只需读前几页
  8. tracert命令查询服务器位置,服务器管理中tracert命令常用原理和命令行详解
  9. 推荐几个在线SQL编程的网站,良心!
  10. 十大重要IT公司排名 -2009
  11. java中的Environment类
  12. 爬虫之旅(一):爬取b站首页的源代码
  13. mark:x264编译选项
  14. OMEN惠普HP暗夜精灵5:win10下安装Ubuntu16.04双系统(win10+linux)
  15. 【排列组合】扑克牌大小王被同一人拿到概率
  16. 《小QQ 大帝国 马化腾传奇》熊江
  17. mysql auto_increment 重置_如何重置MySQL中的AUTO_INCREMENT?
  18. 互联网早报:京东健康宠物医院上线:注册医生超3000名 提供7X24在线健康咨询服务
  19. day1 简介,变量,用户输入,字符串拼接,列表,元组,字典
  20. linux消息通信无法接收,求助!Linux基于UDP通信失败,server接收不到消息???...

热门文章

  1. 交互设计师成长指引-从平凡到卓越
  2. 编译原理实验二:赋值语句的语法分析程序设计
  3. 输入法中表情和小图标的应用
  4. 2020寒假【gmoj2417】【Loan Repayment】【二分】
  5. edg击败we视频_LPL夏季赛:EDG零封V5获三连胜 OMG2-1击败WE
  6. 小米手机扩容教程_小米note手机扩容,16G升级64G
  7. SAP UI5 进阶 - XML 视图里定义的 UI 控件,运行时实例化的技术细节剖析试读版
  8. 一种基于暗通道先验算法的图像去雾技术研究
  9. linux脚本编写图形,shell图形化界面脚本实现
  10. Java设计模式(java design patterns)