我正在创建一个网站,并试图获得最好的CSS设置(响应性强/适用于所有浏览器),用于创建一个图像位于文本块右侧或左侧的部分。我听说Flex是最好的方法,所以我尝试模仿其他使用Flex设置的网站。到目前为止,我有一段代码适用于图像位于右侧的情况。而文字在左边....但是当图像在左边而文字在右边时,它就不起作用了。
下面是我的代码:https://codepen.io/7harrypotterrr/pen/MZEdVY
.containerabcolumn {margin: 0 auto !important;}
正如您所看到的,当我颠倒div a和B的顺序时,结果很糟糕。在我的实际站点上,实际上没有重叠,但是图像溢出有一个问题。当第一段代码的窗口大小缩小时,事情按预期工作...右边的图像超出了它的div容器,随着窗口大小的缩小,切掉了越来越多的内容(这很好)....然而,对于第二段代码,图像在左边,文本在右边,图像最终与文本重叠...而不是超出其容器到左边(我希望的方式)。
有什么办法吗?
提前感谢我得到的任何帮助,正如你可以从我试图描述我的问题的方式告诉,我是一个完整的编码新手。
此外,如果有人想知道这组代码是否响应迅速/在所有浏览器上都能工作/通常是一种智能方法,那也很好。
2条答案
按热度按时间nxagd54h1#
你问的是正确的方法,所以我会给予两个答案。答案1回答了你的要求。答案2是一个更优雅和专业的解决方案,在相同的css下,能够显示两个视图,根据目标屏幕进行优化
解决方案1:尊重您在移动的上的意愿
为了解决这两个问题
1.按照另一个答案,这将文本固定在图像上:
.B img {宽度:100%; }
1.删除
flex: 0 0 auto;
使得修复移动的上的文本剪切:.a { -webkit-flex-basis:41.667%; -ms-flex-首选大小:41.667%;弹性基准:41.667%;最大宽度:50%;保证金:自动; }
这是在泛指el 2 XL上进行两次css修改后的模拟
解决方案2:最佳用户体验
前面的解决方案模拟了桌面屏幕的动态。但是在移动的上,你希望看到更好的文本和图像。这在前面的解决方案中没有发生。所以我的建议是使用这个css。你将保留你在桌面屏幕上想要的布局,但是当你在移动设备上打开页面时,你会更好地重新组织内容
桌面行为
移动的行为
OP澄清后更新
roejwanj2#
您只需要定义'width:100%;“添加到div中的图像。类似于: