html - 如何在 CSS flex 或 grid 中使单个图像响应并具有图像文本列?

标签 html css image flexbox responsive

这应该很容易......但出于某种原因,我无法解决这个问题。我想要两列彼此相邻。左列用于文本,右列用于图像。另外,我想使用 flex,但无论我将其包含在 HTML 中还是尝试创建背景图像,我都无法让 img 响应。

首先,我尝试使用网格,因为这可能会变得更加复杂。但是,img 也不会响应。我认为我缺少一个关于响应式图像的基本概念(即使我设置了宽度:100%,高度:自动和最大宽度:100%)。

最后,我需要一些看起来像这样的东西(我将有文本图像和图像文本布局): enter image description here

我在这里做错了什么?这是我的 HTML 代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>EB-6590</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="styles/index.processed.css">
</head>
<body>
    <div class="sh-ref-nfh2-container">
        <div class="sh-ref-nfh2-content">
            <div class="sh-ref-nfh2-left">
                Left
            </div>
            <div class="sh-ref-nfh2-right">
                 <img src="https://via.placeholder.com/683x600.png?text=Responsive">       
            </div>
        </div>  
    </div> 
</body>
</html>

这是 (S)CSS:

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.sh-ref-nfh2-container {
    position: relative;
    overflow: hidden;
    width: 1366px;
    height: 600px;

   .sh-ref-nfh2-content {
       position: relative;
       width: 100%;
       height: inherit;
       max-width: 1366px;
       display: -webkit-box;
       display: -ms-flexbox;
       display: flex;
       -webkit-box-orient: horizontal;
       -webkit-box-direction: normal;
       -ms-flex-direction: row;
       flex-direction: row;
       -webkit-box-align: center;
       -ms-flex-align: center;
       align-items: center;    
   
      .sh-ref-nfh2-left {
          -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
          flex: 0 0 50%;
          border: #eee solid 1px;
      }
      .sh-ref-nfh2-right {
          -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
          flex: 0 0 50%;
          border: #ccc solid 1px;

          img {
              width: 100%;
              height: auto;
              max-width: 100%;
          }
      }
  }  
}

https://codepen.io/binggeli/project/editor/ZpnRaB

最佳答案

使用视口(viewport)单位,例如宽度使用vw高度使用vh px% 因为它将帮助您使您的网页/网站具有响应能力。

它肯定会起作用,但如果它没有在评论中让我知道,我会尽力帮助你。

关于html - 如何在 CSS flex 或 grid 中使单个图像响应并具有图像文本列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63061628/

相关文章:

css - Div 图层应放置在 Flash 影片之上

javascript - 如何根据状态更改颜色字体?

css - 非语义 CSS 框架和流畅的图像

Css——为伪元素使用图片

javascript - 不应用或覆盖外部 CSS

java - 从网页程序中获取所有图像 | java

ios - 如何在单个 ImageView 中添加多个图像并每 2 秒连续显示所有图像

html - 为什么导航侧边栏中的列表元素未设置样式?

html - 如何做一个绝对定位(溢出:hidden) container's absolutely positioned children show outside of their parent's area?

javascript - 如何使用类隐藏元素;而不是在 JQuery 中使用 css 函数?