如何将文本环绕在右下角的 div 周围?

2024-03-29

每次我尝试用 CSS 做一些看似简单的事情时,它都不起作用。

我有一个包含 460x160 图像的内容 div。我想要做的就是将图像放置在右下角,并将文本环绕在其周围。

<div id="contents">
    <img src="..." />
    text text text text text text ...
</div>

所以我希望它看起来像:

------------------
| text text text |
| text text text |
| text text -----|
| text text |    |
------------------

用左上角或右上角的图像来做这件事是很简单的:

#contents img { float:right; }

------------------
| text text |    |
| text text -----|
| text text text |
| text text text |
------------------

现在我该如何将其推到底部? 到目前为止我想出的最好的方法是:

#contents img { float:right; margin-top: 90%} // really needs to be 100%-160px

------------------
| text text      |
| text text      |
| text text -----|
| text text |    |
------------------

在这种情况下,文本不会打印在页边距中,因此图像上方有空白。

#contents { position:relative; }
#contents img { position:absolute; right:0; bottom:0; }

-or-

// move the img tag under the text in the html and:
#contents img { float:right; margin-top:-160; }

------------------
| text text text |
| text text text |
| text text -----|
| text text | te |
------------------

在这种情况下,文本打印在图像上方或下方。

那么...我怎样才能做到这一点呢?


看来确实有人问过之前(2003年) https://web.archive.org/web/20181202092251/http://archivist.incutio.com/viewlist/css-discuss/72206, and 之前(2002年) https://web.archive.org/web/20170421105556/http://archivist.incutio.com/viewlist/css-discuss/12645, or 之前(2005年) https://web.archive.org/web/20181026000119/http://archivist.incutio.com/viewlist/css-discuss/57221

最后一个链接实际上建议了一个基于javascript的解决方案 http://www.xs4all.nl/%7Ejer03n/sandbox/float-bottom-right.html,但对于固定(即非流体)解决方案。

然而,它是一致的发现其他建议 http://forums.devshed.com/css-help-116/float-right-issue-496358.html

唯一的方法是将浮动元素放置在文本中间的某个位置。想要一直完美是不可能的。

Or this one http://www.webmasterworld.com/css/3528809.htm:

它包括浮动一个垂直的“推杆”元素(例如 img,但使用空 div 可能更聪明),然后使用clear属性将所需的对象浮动在其下方。此方法的主要问题是您仍然必须知道文本有多少行。它使事情变得更容易,而且绝对可以用javascript编码,只需将“推动器”的高度更改为容器的高度减去浮动的高度(假设您的容器不是固定/最小高度) 。

无论如何,作为在此线程中讨论 http://bytes.com/groups/css/99882-floating-image-bottom-right-div,没有简单的解决方案......


Cletus https://stackoverflow.com/users/18393/cletus评论里提到了这个2003年的话题 http://www.ozoneasylum.com/11041,这再次说明了它不容易实现的事实。
不过,它确实指的是这个埃里克·迈耶的文章 http://www.complexspiral.com/publications/containing-floats/,这已经接近您想要达到的效果了。

通过了解浮动和正常流动如何相互关联,并了解如何使用清除来操纵浮动周围的正常流动,作者可以将浮动用作非常强大的布局工具。
由于浮动最初并不打算用于布局,因此可能需要一些技巧才能使它们按预期运行。这可能涉及包含浮动的浮动元素、“清除”元素或两者的组合。


Yet, 查德威克·迈耶 https://stackoverflow.com/users/3334390/chadwick-meyer建议在他的回答 https://stackoverflow.com/a/54765318/6309一个基于的解决方案:beforeCSS 选择器 https://www.w3schools.com/cssref/sel_before.asp(的变化Leonard https://stackoverflow.com/users/405975/leonard's answer https://stackoverflow.com/a/12091501/6309).
确实如此在这里工作 https://codepen.io/chadwickmeyer/pen/gqqqNE.


2021 年 4 月更新:特马尼·阿菲夫 https://stackoverflow.com/users/8620333/建议在他的回答 https://stackoverflow.com/a/67180791/6309使用 Flexbox 与 shape-outside 相结合。
但请检查一下Flexbox 的向后兼容性 https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Backwards_Compatibility_of_Flexbox, 虽然它的支持 https://caniuse.com/flexbox所有浏览器都非常好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将文本环绕在右下角的 div 周围? 的相关文章

  • 我可以在元标记中使用 HTML 字符实体吗?

    我有一个有两种语言的网站 英语和中文 在使用 UTF 8 字符集的英文主页中 我有 例如 这出现在搜索结果中 我想将其更改为 在哪里 20013 25991 是 中文 的 ISO 实体 搜索结果中会显示为 中文 吗 我无法将 中文 直接粘贴
  • 使用反增量更改 z-index

    我尝试制作一个图像滑块 当鼠标悬停在一个点上时 它将显示图片 我也尝试使用在图像之间切换z index但什么也没动 slider counter reset index 1000 slider input name slide switch
  • 为什么开发者讨厌 iframe? [复制]

    这个问题在这里已经有答案了 可能的重复 iframe 被认为是 不好的做法 吗 https stackoverflow com questions 362730 are iframes considered bad practice 在与
  • 如何在数据表中colspan rowspan?

    I am trying to use colspan and rowspan attributes with jQuery Datatables where a product sku can span 2 rows and a week
  • 如何为 HTML 元素创建鼠标拖动滑块?

    我发现的许多滑块插件要么仅单击以查看下一个图像 要么如果它们确实具有鼠标拖动或触摸拖动功能 则仅允许图像 有谁知道为任何 html 元素编写鼠标拖动滑块的插件或可能的方法 我专门使用 SVG 但将来如果能在 div 元素之间滑动就更好了 H
  • 为什么我的列表项项目符号与浮动元素重叠

    我有一个 XHTML Strict 页面 我在其中将图像浮动在常规文本段落旁边 一切都很顺利 除非使用列表而不是段落 列表的项目符号与浮动图像重叠 更改列表或列表项的边距没有帮助 边距是从页面左侧开始计算的 但浮动会将列表项推到右侧insi
  • 来自 HTML5 的 Phonegap Bonjour/Zeroconf 或 Websocket IP 发现

    我正在尝试实现一个 Phonegap HTML5 应用程序 该应用程序连接到 Websocket 服务器 在嵌入式设备中运行 也有 Bonjour 服务 以在家庭网络内交换数据 我想知道使用 Phonegap 检测服务器 IP 的最佳方法
  • 如何在不使用变换或顶部/左侧的情况下转换列表中项目的位置

    有一天我偶然发现一个例子 https codepen io itslit pen gvKrMY它使用 Vue js 但我的问题更多是关于 Vue 用于实现状态之间转换的 CSS 和 HTML 卡片暂时获得等级 shuffleMedium m
  • 获取 FileReader() 的结果对象

    有什么方法可以在不通过函数的情况下获取 FileReader 的结果对象 我在下面制作了示例代码 HTML br br br div div JS var code lorem ipsum input type file change fu
  • 将图像作为框架放置在 iframe 周围?

    我有一个网站尝试以移动格式显示 但在宽屏幕上 我确信 iframe 是正确的选择 我正在尝试将 iframe 加载到 iPhone 的图像中 你可以看一个例子here http webfro gs south tour iframe tes
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • 有角度的动态背景图片

    在 html 模板中 我有这种带有动态图像的样式 div style background none width 200px height 150px div 它适用于网络浏览器和 Android 浏览器 但是 使用 style 的动态背景
  • 删除子元素上的 CSS 过滤器

    我的 CSS 代码有问题 正如您所看到的 我在 li 元素上有过滤器 但它覆盖了其他元素 我需要使其他两个元素没有过滤器 有没有可能这样做 main width 300px height 300px background color blu
  • 为什么 IE8 在我的图像锚标记上添加底部边框?

    我知道 这很可悲 但今天早上 IT 刚刚在我的机器上安装了 IE8 我立刻遇到了一个明显的问题 尽管我知道答案就在我面前 但我已经把它搞砸了太久了 首先 这是网站 www mchenry edu http www mchenry edu 在
  • 使用 CSS 或 Javascript 填充动画

    我只是想知道是否可以使用 CSS 或 javascript 创建填充动画 基本上我想创建一个填充动画 如下图所示 http i40 tinypic com eit6ia png http i40 tinypic com eit6ia png
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • 检查 jQuery 1.7 中是否存在基于文本的选择选项

    所以我有以下 HTML 片段
  • 图像背景不透明度不影响边框

    如何设置背景不透明度而不影响边框线不透明度 我找到的解决方案没有帮助 div class selected img src assets img image product 1 thumbnail jpg alt product 1 thu
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • 在 Nexus 7 2013 上更改方向时 CSS 媒体查询不起作用

    我目前正在我的笔记本电脑 台式电脑和 Nexus 7 2013 上测试 CSS 媒体查询 除了 Nexus 7 之外 它们在台式机和笔记本电脑上都运行良好 当我更改方向时 除非刷新页面 否则样式不会应用 例如 以纵向模式握住设备时 页面正常

随机推荐

  • 从 JSON 中的不同嵌套级别提取对象名称

    我一直在尝试从之前的问题中找到解决方案来运行here https stackoverflow com questions 18830955 get the elements from nested json with python usin
  • Android Gradle 构建中出现意外的节点 Android 打包

    我正在尝试让我的项目使用gradle 问题是 每次我尝试构建时 都会收到以下错误 Error Internal error java lang AssertionError Unexpected node Android Packaging
  • 有了websockets,AJAX还有用武之地吗?

    我目前正在使用 Node js 构建一个实时应用程序 我使用 socket io 来支持实时交互 但已加载 jQuery 因此我可以使用 AJAX 我最初使用 socket io 进行服务器和客户端之间的所有通信 我开始认为 AJAX 可能
  • 如何更改 Azure AD 上的用户主体名称

    我正在尝试使用在 Microsoft 文档中找到的 PowerShell 命令 Set MsolUserPrincipalName 更改 Azure AD 用户的用户主体名称here https learn microsoft com en
  • 如何编写将行号输出为列的查询?

    如何编写将行号输出为列的查询 这是 iSeries 上的 DB2 SQL 例如 如果我有 表披头士乐队 John Paul George Ringo 我想写一个声明 如果可能的话 不写过程或视图 这给了我 1 John 2 Paul 3 G
  • 如何从代码隐藏在新窗口或选项卡中打开页面

    所以我有一个 Web 应用程序 我可以从下拉列表中选择一个值 当选择此值时 我想在新窗口中加载另一个页面 我试过这个 ScriptManager RegisterStartupScript Page typeof Page OpenWind
  • 当我访问数组的元素时,硬件级别会发生什么?

    int arr 69 1 12 10 20 113 当我这样做时会发生什么 int x a 3 我一直有这样的印象a 3 意思是这样的 从内存地址开始arr 向前走 3 个内存地址 获取该内存地址表示的整数 但后来我对哈希表的工作原理感到困
  • 从视图模型将焦点设置在 WPF 中的 TextBox 上

    我有一个TextBox and a Button在我看来 现在 我正在检查按钮单击时的条件 如果条件结果为假 则向用户显示消息 然后我必须将光标设置到TextBox控制 if companyref null var cs new Lippe
  • 如何使用 Spring Boot 加载外部配置?

    我目前正在学习如何使用 Spring Boot 到目前为止我从未使用过像Spring这样的框架 而是直接使用文件 FileInputStream等 情况如下 我有一些动态配置值 例如 OAuth 令牌 我想在我的应用程序中使用它们 但我不知
  • Android 中如何使用 MVP 模式控制 ListView

    我目前正在使用 MVP 模式开发 Android 应用程序 当我尝试开发 Activity 时 我应该使用 ListView 所以我对 ListView 使用适配器 但我听说 Adapter 与 MVP 模式上的 Presenter 类似
  • 我们可以用jquery调用智能手机原生的分享功能吗?

    我们可以使用手机 android Iphone 本机共享功能来共享应用程序中的不同内容 是否也可以在所有智能手机中使用 JavaScript 通过浏览器调用此共享功能 这样 在浏览器中的某些事件中 我们可以加载共享小部件 Thanks 是的
  • 使用 shell 删除最旧的文件

    我有一个文件夹 var backup 其中 cronjob 保存数据库 文件系统的备份 它包含一个latest gz zip和许多旧的转储 它们的名称是timestamp gz zip 该文件夹变得越来越大 我想创建一个执行以下操作的 ba
  • Imagecreatefromjpeg 调整大小后返回黑色图像

    我有一个脚本来调整上传图像的大小 但是当我使用它时 它只返回一个黑色方块 所有的错误信息都指向这个函数 function resizeImage image width height scale newImageWidth ceil wid
  • 在 C++ 中检索 std::map 的随机关键元素

    如何在 C 中获取 std map 的随机密钥 使用迭代器 我不想维护额外的数据结构 std map迭代器是双向的 这意味着选择一个随机密钥将是O n 在不使用其他数据结构的情况下 基本上你唯一的选择就是使用std advance随机增量b
  • 无法在 OS X 上安装 netCDF4 python 包

    我正在尝试在 OS X 上安装 netCDF4pip install netCDF4我收到以下错误 usr local bin pip run on Wed Aug 7 23 02 37 2013 Downloading unpacking
  • .Net Core 3 和 EF Core 3 包含问题 (JsonException)

    我正在尝试使用 NET Core 3 和 EF Core 开发应用程序 我遇到了一个错误 但找不到解决方案 我无法在 Net Core 3 上做一个可以用 PHP eloquent 简单创建的结构 Model public NDEntity
  • 输入 if AND else 语句?

    所以我得到了这段代码 更新了解决方案 Override public View getView int position View convertView ViewGroup parent final Direction d directi
  • 公式提供属性默认值的最佳方式是什么?

    Chef 有一个非常详尽 也许太多 的食谱方案来提供属性的默认值 我认为 Puppet 对类参数做了类似的事情 默认值通常进入params pp 有了盐 我就看到了 在字典 支柱查找中指定默认值 the grains filter by将默
  • Hive 安装问题:Hive Metastore 数据库未初始化

    我尝试在树莓派 2 上安装 Hive 我通过解压缩压缩的 Hive 包安装 Hive 并在我创建的 hduser 用户组下手动配置 HADOOP HOME 和 HIVE HOME 运行 hive 时 出现以下错误消息 蜂巢 错误 Statu
  • 如何将文本环绕在右下角的 div 周围?

    每次我尝试用 CSS 做一些看似简单的事情时 它都不起作用 我有一个包含 460x160 图像的内容 div 我想要做的就是将图像放置在右下角 并将文本环绕在其周围 div img src text text text text text