css文字环绕图片的方法

PHP中文网
发布: 2016-05-20 16:50:20
原创
2776人浏览过

一、前言

      需要实现一个文字环绕图片的效果,心想so easy嘛。

      1)代码部分      

   <style>.img-left {border: 3px solid #005588;width:300px;}.img-left img {float:left;  /* 对图片进行浮动就可以实现了  */width:150px;}style>
   
   <p class="img-left"><img src="https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png" alt="pic"/>这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文这是一段中文<p style="clear:both;">p>p>
登录后复制

      2)效果图

       

立即学习前端免费学习笔记(深入)”;

         很容易就出来想要的效果了。最关键的代码:对图片进行左浮动就可以了,这不是挺简单的嘛。     

二、遇到的问题

       当把中间的文字替换成连续的英文字母时,出现问题了,如图

      

       于是查找相关资料,测试结果后发现:

浏览器默认解析英文或者数字时,是按照单词进行解析。也就是说,每个单词是一个整体,遇到空间不足时,不会对单词进行拆分。所以才会出现上面这种情况。

      上个对比图

      

三、解决方法

      思考:CSS里面有没有相关的属性,可以对文字进行强制换行呢?

              答案当然是有的:word-break: break-all;

      这样就可以解决问题了。

      

 

知我AI·PC客户端
知我AI·PC客户端

离线运行 AI 大模型,构建你的私有个人知识库,对话式提取文件知识,保证个人文件数据安全

知我AI·PC客户端 35
查看详情 知我AI·PC客户端

四、后记:word-wrap、word-break

      在查找资料的时候,发现还有个属性:word-wrap:break-word;  这咋还出现重复属性了呢?

     其实不然,又是一通查找资料,发现这俩还是有区别的:

     1) word-wrap : break-word ;

         --允许长单词换行到下一行。

         当一个单词长度超过p的宽度时,默认是不会换行的:如下图

         

         如果设置word-wrap : break-word;  这个单词就会进行换行显示

         

      2)word-break : break-all;

          -- 是否对单词进行断词处理。

          --个人理解就是: 它会把一个单词的每个字母拆分成独立的单元,

            这样就可以把它填充到每个地方,所以才能达到文字环绕图片的效果。

 

      有篇文章对这两者的区别做了很好的介绍:《你真的了解word-wrap和word-break的区别吗?

 


相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号