响应式图像是响应式网页设计(RWD)的一部分,专门处理网络上的图像,可根据屏幕尺寸,平台和方向在各种设备上提供最佳体验。
Lighthouse 抱怨我的图像尺寸不正确。尽管如此,我提供了相当广泛的图像选择,并且尺寸指定得非常准确。 这是我的图像实现: &l...
我网站上的图像部分加载或被裁剪 – 是否有 CSS 或 HTML 修复?
我正在开发一个 WordPress 网站,该网站探索生命各个方面的精神意义和象征意义,包括鸟类、动物和人体部位。该网站使用自定义 HTML 和 CSS 来显示...
我的卡片内有一张图像,该图像的大小为196x196。在平板电脑上,其尺寸应为 250x250。当我添加 mixin 平板电脑时,图像不会增长或缩放,它只是保持 196px,然后当屏幕...
尝试通过上传不同尺寸的图像并编写 javascript 代码来使我网站上的所有图像都能响应
应用我编写的脚本后,Google 页面速度洞察仍然向我显示建议:1. 正确调整图像大小和 2. 图像没有明确的宽度和高度 这是剧本...
我一直在尝试使用 tailwind css 及其响应式布局和设计使我的代码适合移动设备。但是,当将其集成到我的代码中时,图像“bot.png”不会移动到文本下方
我的图片作为主页背景的显示有问题。 在大屏幕上,所有图片都可以正确显示,而在小屏幕上,使用 chrome dev 的设备模式...
我的网站图像显示了我的响应式图像网格遇到问题的问题。我从这个网站得到了这个想法 https://www.w3schools.com/howto/howto_css_image_grid_responsive.asp 我想要我的...
我正在创建一个包含图像和更多细节的项目卡。在大屏幕中,样式按预期工作正常,但在较小的屏幕中,图像改变了它的行为,并且不覆盖...
寻找在create-react-app中渲染响应式图像srcSet的好方法
在 create-react-app 项目上,我们有一些位图本地图像要显示,例如 src/images/logo.png src/images/[email protected] src/images/[email protected] 任何人都知道有什么好方法来简化制作......
Flutter DevTools 显示以下消息: 考虑提前调整资源大小,提供缓存宽度 参数为 35,cacheHeight 参数为 35,或者使用 调整图像大小。 因为我...
我有一个网格和子网格。这些行包含重复的 [ 包含 []] 对,后跟 []。 我想要每个图像容器的高度(class =“frame”... 我有一个网格和子网格。这些行包含重复的 [<div> containing [<img>]] followed by [<p>] 对。 我希望每个图像容器(class =“frame”)的高度与其兄弟姐妹<p>高度相匹配,即 img 容器高度 = 同级 p 高度(p 不换行时行高 x1,p 换行时 x2 或更高)。 我尝试了div.frame height=100%,但由于某种原因它没有调整图像的大小。 我还尝试了另一个线程中发现的技巧:设置 height=0 和 min-height=100%,但这似乎会导致与内容宽度不匹配的列溢出问题。 我可以设置一个具体的高度,如 0 或 80px,但如果文本发生变化,它不会缩放。我希望一些框架高度设置可以解决这个问题,但是我不知道。 这是我到目前为止所拥有的: HTML * { margin: 0; padding: 0; } body { background-color: tan; color: black; } div.grid { display: grid; grid-template: repeat(2, auto auto) / repeat(4, max-content); } .grid > div.row { grid-column: span 4; display: grid; grid-template-columns: subgrid; background-color: antiquewhite; } .row > div.cell { grid-column: span 2; display: grid; grid-template-columns: subgrid; } .cell > div.frame { max-height: 100%; height: 100%; } .frame > img.icon { max-width: 100%; max-height: 100%; } .cell > p.note { width: min-content; } <div class=grid> <div class="row"> <div class="cell"> <div class="frame"> <img class="icon" src="https://upload.wikimedia.org/wikipedia/commons/8/8c/Emoji_u1f0cf.svg"> </div> <p class="note">Matthew Patel</p> </div> <div class="cell"> <div class="frame"> <img class="icon" src="https://upload.wikimedia.org/wikipedia/commons/8/8c/Emoji_u1f0cf.svg"> </div> <p class="note">Lucas Lee</p> </div> </div> <div class="row"> <div class="cell"> <div class="frame"> <img class="icon" src="https://upload.wikimedia.org/wikipedia/commons/8/8c/Emoji_u1f0cf.svg"> </div> <p class="note">Todd Ingram</p> </div> <div class="cell"> <div class="frame"> <img class="icon" src="https://upload.wikimedia.org/wikipedia/commons/8/8c/Emoji_u1f0cf.svg"> </div> <p class="note">Roxie Richter</p> </div> </div> </div> 我选择了这种布局,因为即使在不同的图像尺寸下,网格似乎也能保持对齐。 不管怎样,我就是这样走到这一步的。也许我没理解“100%”?感谢帮助和反馈。 我会首先简化你的 HTML 结构,然后更新 CSS,如下所示。 body { background-color: tan; color: black; margin 0; } .grid { display: grid; grid-template-columns: auto auto; justify-content: start; gap: 20px; background-color: antiquewhite; width: fit-content; } .cell { display: grid; grid-template-columns: 1fr 1fr; } img.icon { height: 0; min-height: 100%; } .cell > p.note { width: min-content; } <div class=grid> <div class="cell"> <img class="icon" src="https://upload.wikimedia.org/wikipedia/commons/8/8c/Emoji_u1f0cf.svg"> <p class="note">Matthew Patel</p> </div> <div class="cell"> <img class="icon" src="https://upload.wikimedia.org/wikipedia/commons/8/8c/Emoji_u1f0cf.svg"> <p class="note">Lucas Lee</p> </div> <div class="cell"> <img class="icon" src="https://upload.wikimedia.org/wikipedia/commons/8/8c/Emoji_u1f0cf.svg"> <p class="note">Todd Ingram</p> </div> <div class="cell"> <img class="icon" src="https://upload.wikimedia.org/wikipedia/commons/8/8c/Emoji_u1f0cf.svg"> <p class="note">Roxie Richter</p> </div> </div>
如何修复使用图片和源 html 元素的响应式图像的布局转换?
我在使用 元素时遇到的一个问题是,尽管在 和图像后备上提供了宽度和高度属性,但仍然存在
无法让 NgOptimizedImage 在 Angular 15 中做出响应
在 Angular 15.1.x 项目中,我正在尝试使用 NgOptimizedImage 实现一个在移动和桌面上响应的图像。强制的 img 宽度和高度属性会覆盖尺寸
为什么响应式图像在弹性容器内缩小并且不占据响应式屏幕尺寸上的整个空间?
我想防止图像在弹性盒内收缩,从而在弹性容器内留下太多空间。事实上,图像是使用 Bootstrap 5 类中的 img-fluid 类来制作响应式的......
我想根据屏幕尺寸预加载图像,所以我使用: 我想根据屏幕尺寸预加载图像,所以我使用: <link rel="preload" as="image" href="/imagemax.png" media="(min-size:800px)" > <link rel="preload" as="image" href="/imagemed.png" media="()" > <link rel="preload" as="image" href="/imagemin.png" media="(max-size:599px)"> 我不确定如何预加载中型图像。我见过的所有示例仅涉及最小和最大屏幕尺寸,而不是中间值。当屏幕>599px和<800px时如何触发预加载? 你可以试试这个代码。 <link rel="preload" as="image" href="/imagemed.png" media="(min-size:800px) and (max-size: 599px)"> 使用“和”它将定位屏幕最大和最小宽度之间的宽度。
使黑白图像在悬停时变成彩色 - HTML/CSS/Javascript
有谁知道如何在将鼠标悬停在黑白图像上时使它们变为彩色动画。这就像以数字方式展示一幅画或制作文本填充动画(如果有意义的话)。我
我的网站在桌面上看起来不错,但在移动版本上,标题的位置很奇怪。如何更改标题字体大小和位置而不更改桌面版本。 还有我的头像...
我有一个使用 Flexbox 来居中其项目的 div。在这个 div 中我有 3 个元素,其中之一是图像。 我有一个 div 使用 flexbox 将其项目居中。在这个div里面我有3个元素,其中一个是图像。 <div id="flex-container"> <div id="container1"></div> <img src="#" alt=""> <div id="container2"></div> </div> #container1和#container2有自己的高度,img应该使用#flex-container内部的剩余高度。 此代码片段适用于 Firefox,但不适用于 Chrome。 (jsfiddle) #flex-container{ height: 300px; width: 500px; display: flex; display: -webkit-flex; flex-flow: column nowrap; -webkit-flex-flow: column nowrap; justify-content: center; -webkit-justify-content: center; align-items: center; -webkit-align-items: center; border: 5px solid black; } #container1, #container2{ height: 100px; width: 300px; background: orange; flex: 1 0 auto; -webkit-flex: 1 0 auto; } <div id="flex-container"> <div id="container1">300x100 px</div> <img src="http://i.imgur.com/RRUe0Mo.png" alt=""> <div id="container2">300x100 px</div> </div> Chrome 需要为 Flexbox 添加 -webkit- 前缀,但问题似乎不是这个。 会发生什么?是浏览器错误还是我忘记了什么? 您需要克服两个问题: Firefox 自己解决了这两个问题,但 Chrome 需要帮助。 问题#1 第一个问题是弹性项目默认不能小于其内容。弹性项目的初始设置是 min-height: auto。 因此,具有替换元素的 Flex 项目(例如图像)将默认为图像的固有大小。该项目无法变小,除非您覆盖初始设置(使用 min-height: 0)。 #flex-container { height: 300px; width: 500px; display: flex; flex-flow: column nowrap; justify-content: center; align-items: center; border: 5px solid black; } #container1, #container2 { height: 100px; width: 300px; background: orange; flex: 1 0 auto; } img { min-height: 0; } /* NEW */ <div id="flex-container"> <div id="container1">300x100 px</div> <img src="http://i.imgur.com/RRUe0Mo.png" alt=""> <div id="container2">300x100 px</div> </div> 可以在这里找到此问题的完整解释: 为什么弹性项目不会缩小到超过内容大小? 问题#2 然后你遇到了第二个问题:保持纵横比。这是柔性容器中的常见问题。一种选择是定义图像的高度: #flex-container { height: 300px; width: 500px; display: flex; flex-flow: column nowrap; justify-content: center; align-items: center; border: 5px solid black; } #container1, #container2 { height: 100px; width: 300px; background: orange; flex: 1 0 auto; } img { min-height: 0; height: 100px; } /* NEW */ <div id="flex-container"> <div id="container1">300x100 px</div> <img src="http://i.imgur.com/RRUe0Mo.png" alt=""> <div id="container2">300x100 px</div> </div> 感谢评论中的@alexandr,这对我来说是完美的解决方案: object-fit: contain; // done on the image resizes the height 我只是把它放在这里,因为这是一个正确的答案,可能会作为评论而被错过。
我有一个包含标题图像的网站。 然而,当我在 iOS 上的 Firefox 或 Safari 中加载网站时,这些标题图像一开始似乎没有加载。这是一个屏幕截图: 这是...的代码
我遇到了 .contenedor-elementos-generales 的子元素高度问题 我不知道该怎么做才能修复它。 我的主要 html 文件: 我遇到了.contenedor-elementos-generales的子元素高度问题 我不知道该怎么做才能解决它。 我的主要 html 文件: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="https://fonts.googleapis.com/css2?family=Titillium+Web:wght@700&display=swap" rel="stylesheet"> <link rel="stylesheet" href="css/index.css"> <title>Descontrol</title> </head> <body> <div class="layout"> <div class="item-grilla contenedor-carta"> <img src="." alt="" id="imgCarta" class="img-carta"> <div class="contenedor-consola-carta"> <span class="consola-carta" id="textoConsolaCarta">Descripción carta: Lorem ipsum dolor sit, amet consectetur adipisicing elit. Reprehenderit obcaecati voluptatem eius quibusdam facilis dolores suscipit id a explicabo laborum.</span> </div> </div> <div class="item-grilla contenedor-consola-personaje"> <span class="consola-personaje" id="textoConsolaPersonaje">Consola: Lorem ipsum, dolor sit amet consectetur adipisicing elit. Voluptatum, vero nesciunt? Repellendus quos ipsam fugit?</span> </div> <div class="item-grilla contenedor-botones-juego"> <div class="boton-juego boton-levantarCarta" id="btnLevantarCarta"> <span>LEVANTAR CARTA</span> </div> <div class="boton-juego boton-atacar" id="btnAtacar"> <span>ATACAR</span> </div> </div> <div class="item-grilla encabezado-elementos-generales"> <div class="encabezado-personaje">AVATAR</div> <div class="encabezado-atributo">ATRIBUTO</div> <div class="encabezado-estado">ESTADO</div> </div> <div class="item-grilla contenedor-elementos-generales"> <div class="elemento-general contenedor-personaje"> <img src="img/vida.png" alt="" id="imgPersonaje" class="img-personaje"> </div> <div class="elemento-general contenedor-atributo"> <div class="atributo"> <img src="img/ataque.png" alt="" class="img-atributo"> <span class="text-atributo">0</span> </div> <div class="atributo"> <img src="img/esquiva.png" alt="" class="img-atributo"> <span class="text-atributo">0</span> </div> <div class="atributo"> <img src="img/velocidad.png" alt="" class="img-atributo"> <span class="text-atributo">0</span> </div> <div class="atributo"> <img src="img/vida.png" alt="" class="img-atributo"> <span class="text-atributo">0</span> </div> <div class="atributo"> <img src="img/vida.png" alt="" class="img-atributo"> <span class="text-atributo">0</span> </div> </div> <div class="elemento-general contenedor-estado"> <img src="img/vida.png" alt="" class="img-estado" id="imgEstado"> </div> </div> </div> <script src="js/main.js"></script> </body> </html> 我的CSS文件: * { all: initial; box-sizing: border-box; } * { border: 0; margin: 0; } body { font-size: 0.9rem; font-family: Titillium Web; } .layout { width: 100vw; height: 100vh; display: grid; grid-template-rows: repeat(18, 1fr); grid-template-columns: repeat(9, 1fr); outline: 1.5px solid #000; } .contenedor-carta { grid-column: 1/10; grid-row: 1/12; background: #000; display: flex; flex-direction: column; } .img-carta { height: calc((6/11)*100%); } .contenedor-consola-carta { height: calc((5/11)*100%); color: #fff; display: flex; justify-content: center; text-align: center; } .consola-carta { padding: 0 20px; padding-top: 50px; text-align: center; } .contenedor-consola-personaje { grid-column: 1/10; grid-row: 12/15; display: flex; align-items: center; justify-content: center; } .consola-personaje { text-align: center; padding: 30px; } .contenedor-botones-juego { grid-column: 1/10; grid-row: 15/16; display: flex; align-items: center; } .boton-juego { border-top: 1px solid #000; display: flex; justify-content: center; align-items: center; width: 50%; height: 100%; } .boton-juego.boton-levantarCarta { border-right: 1px solid #000; } .encabezado-elementos-generales { grid-column: 1/10; grid-row: 16/17; display: grid; grid-template-columns: repeat(9, 1fr); background: #000; color: #fff; } .encabezado-personaje, .encabezado-atributo, .encabezado-estado { display: flex; align-items: center; justify-content: center; text-align: center; } .encabezado-personaje { grid-column: 1/ span 2; } .encabezado-atributo { grid-column: 3 / span 5; } .encabezado-estado { grid-column: 8 / span 2; } .encabezado-elementos-generales * { text-align: center; } .contenedor-elementos-generales { grid-column: 1/10; grid-row: 17/-1; display: grid; grid-template-columns: repeat(9, 1fr); height: 100%; } .contenedor-personaje { grid-column: 1/3; background: #000; border: 1px solid #fff; } .contenedor-atributo { grid-column: 3/8; height: 100%; display: flex; flex-direction: row; align-items: stretch; background: #000; } .atributo { margin: 0 1px; overflow: hidden; display: flex; flex-direction: column; flex: 1; } .img-atributo { border: 1px solid #fff; height: 50%; background: #fff; } .text-atributo { margin-top: 2px; height: 50%; background: #fff; text-align: center; } .contenedor-estado { grid-column: 8/-1; background: #000; border: 1px solid #fff; } @media only screen and (min-width: 600px) { body { display: flex; justify-content: center; } .layout { width: 60vw; } } @media only screen and (min-width: 700px) { body { display: flex; justify-content: center; } .layout { width: 40vw; } } .layout元素被假设为一个9x18的网格,与任何窗口的尺寸相匹配,它做到了,问题是元素.contenedor-personaje、contenedor-atributo和.contenedor-estado的高度。 如果您发现其他错误或有建议,请随时告诉我,我仍然是网页设计的初学者。 导航器:Chrome 操作系统:Ubuntu 20.04 您似乎正在开发一个使用 CSS 网格来构建各个部分的布局。根据您的描述,问题与 .contenedor-elementos-generales 中的 .contenedor-personaje、.contenedor-atributo 和 .contenedor-estado 元素的高度有关。这些元素的高度在网格内可能不会按预期运行。 要解决这些元素的高度问题,您可以考虑进行一些修改: 调整网格行高:确保 .contenedor-elementos-generales 网格中的行具有正确的高度以容纳这些元素中的内容。 处理百分比高度:具有百分比高度的元素通常依赖其父元素的高度来计算自己的高度。确保所有父元素都有一个定义的高度,可以根据这些基于百分比的高度正确计算。 在您的情况下, .contenedor-elementos-generales 的指定高度为 100%,但其父级 .layout 没有固定高度。尝试为 .layout 设置固定高度或使用 100vh(视口高度)以确保网格内正确的百分比计算。 例如: .layout { /* existing styles */ height: 100vh; /* Set the layout height to be 100% of the viewport height */ } .contenedor-elementos-generales { /* existing styles */ height: calc(100% - [adjust for other elements' heights]); /* Adjust the height calculation as needed */ } 调整网格中的高度可能需要对百分比值进行一些试验,以完美地满足您的布局要求。另外,确保没有冲突的样式或填充/边距影响整体高度计算。 请记住在不同的视口大小上测试您的布局,以确保响应能力和一致的行为。