【问题标题】:Aligning an image towards the right in css/bootstrap在 css/bootstrap 中将图像向右对齐
【发布时间】:2023-04-01 00:43:02
【问题描述】:

我有一个如下所示的屏幕截图,我试图在 HTML、CSS 和 JS 中复制它。

The screenshot should remain the same both for mobile and desktop version

此时,我正在处理向右对齐的三个点(如上图所示)。

我用 HTML 和 CSS 代码为它创建了一个fiddle。我为三个点创建了一个图像。我用来将三个点图像向右对齐的代码是:

HTML:

<div class="nav-top-searchbar">
    <form>
        <span class="fa fa-search searchicon" aria-hidden="true"></span>
        <input type="text" name="search">
        <img src="https://s9.postimg.org/d6s4xvykv/Ellipsis.png" id="ellipsis">
    </form>
</div>

CSS:

#ellipsis {
    top: -30px;
    position: relative;
    left: 1320px;
}

问题陈述:

fiddle 中的问题是当我在移动版中看到网页时,it is creating a white space all the way towards the right。我想知道我需要在上面的 CSS 代码/HTML 代码中进行哪些更改,以便在右侧看不到任何空白。

【问题讨论】:

    标签: html css responsive-design css-position absolute


    【解决方案1】:

    我会建议您将图像放在 div 容器中,但试试这个

    省略号 {

    top: -30px; position: absolute ; right:0; }
    

    【讨论】:

    • 仍有空白。你能为它提供小提琴吗?
    • 包含的 div 是否有相对位置?我的意思是类 nav-top-searchbar??
    • 没有。我已经包含了与该 div 相关的所有 CSS 代码。
    • 那个div需要有相对位置还是底部?
    • 试试这个把 span 和 input 字段放在一个 div 里,把图片放在一个单独的 div 里。为两个 div 创建一个类。在这两个类中添加显示内联块,然后在第一个 div 包含 span 和 text 输入的那个将 float 属性设置为 left。
    【解决方案2】:

    您应该执行以下操作:

    1) #ellipsis 本身

    #ellipsis {
        top: 12px; // Sounds good and a bit centered [ Vertically ]
        position: absolute;
        right: 20px; // Increase or decrease it depends on your UI needs
    }
    

    我为什么要改这里?

    1. top 从负到正。
    2. positionrelativeabsolute,因为我们将relative 位置赋予&lt;input&gt; 本身。因为我们需要被包裹在里面。如果您对relativeabsolute 感到困惑,请快速查看this answer
    3. 我们没有使用left: 1320px;,而是使用right 将其粘贴在右侧

    2) #ellipsis 容器/.nav-top-searchbar

    .nav-top-searchbar {
        position: relative;
    }
    

    如果不添加此代码,您的代码可能会正常运行,但我强烈建议您添加此代码以避免现在甚至以后出现任何样式问题。某些浏览器可能运行良好 - 因为它现在可以运行与我一起不添加它 - 但您应该考虑将relative 添加到父级以将您的图像保留在其中。


    应用上述更改,如果您有任何其他问题,请告诉我!

    【讨论】:

    • 我正在应用这些更改。完成后会回复你。您可以在小提琴中编辑您的更改吗?
    • 好的,它在桌面视图中看起来非常好。右边没有空格。谢谢。 .....在不同手机(iphone 6/7/8 plus、iphone 6/7/8、Pixel 2、Pixel 2 XL)的移动视图中,我可以在右侧看到一些空间,而在 Galaxy S5 和 iPhone 中5/SE 手机 我可以看到右侧有相当大的空间。有什么可以解决的吗?
    • 很高兴它有效!我注意到您的&lt;input&gt; 中有border。尝试删除它并再次检查,如果您再次看到空白区域,请告诉我!
    • 中的边框。在 HTML 中。我用过&lt;input type="text" name="search"&gt;,在 CSS 中,我用过input[type=text] { width: 100%; background: #10314c; } 你要我删除background: #10314c; 吗?
    • 很明显,不是你自己添加的。但是浏览器做到了。将border: none 写入您的&lt;input&gt;。或者重置浏览器从所有元素中自动创建的任何边框:* { border: none }
    【解决方案3】:

    我会用float: right; 将那个元素浮动

    【讨论】:

    • 通过使用float:right,搜索栏下方的内容似乎改变了它的位置。
    【解决方案4】:

    CSS:

       #ellipsis {
             top: -30px; 
             position: absolute; 
             right:0;
       }
    

    【讨论】:

    • 我仍然使用您的代码看到空白。你能为它提供小提琴吗?
    • 如果您在全屏中看到,三点图像不在应有的位置。此外,在移动视图中,我可以看到右侧的空白区域。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 2011-07-10
    • 2014-04-19
    相关资源
    最近更新 更多