【问题标题】:HTML5 CSS : Rows and ResizingHTML5 CSS:行和调整大小
【发布时间】:2018-03-25 01:28:40
【问题描述】:

下面的代码是响应式和调整大小等。 但我正在寻找一些真正简单的 CSS 来在桌面和移动设备上调整大小。

我知道我可以使用标题链接 w3.css 中的 CSS,但必须有更好的方法来轻松地在桌面和移动设备上显示一些东西。

移动设备默认为内联显示,但在桌面显示为 3 行。

有没有比w3学校更简单的解决方案?

只是尝试做几行,然后在移动设备上调整为单行...

链接 rel 进入标题:

       <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">

      <div class="w3-row">

       <div class="w3-third w3-container w3-green" align=center>
         <h2>w3-third</h2>
         Stuff here too
       </div>

       <div class="w3-third w3-container w3-red">
        <h2>w3-third</h2>
       </div>

       <div class="w3-third w3-container w3-blue">
        <h2>w3-third</h2>
       </div>

     </div> 

在 Ahmed 和 Raven 的帮助下,我必须到达下方。但不居中。我也改为 90% 以留出一些间距。

在大多数情况下有效,但不以更大的宽度为中心。宽度较小时会翻转为单行,这很好。我正在寻找这样的移动响应。到目前为止代码很简单,我可以很容易地操作。

CSS

       @media only screen and (min-width:320px) and (max-width: 600px) {

         .display {
            width: 90%;
            background: #f1f1f1;
            padding: 10px;
            border: solid 2px #998E67;
            margin: 5px;
                  }
        }

       @media only screen and (min-width:600px) {
           .display {
               float: left;
               width: 30%;
               background: #f1f1f1;
               padding: 10px;
               border: solid 2px #998E67;
               margin: 5px;
                }
        }

不确定我是否需要这个外部 div 对齐中心,似乎不起作用。

          <div align=center style="border: 1px solid ##000">

          <div class="display" align=center>
            <img src="../../images/img.png" height="55" border="0">
            <h2>This is first</h2>
          </div>

          <div class="display"">
            <h2>This is second</h2>
          </div>

          <div class="display">
            <h2>This is Third</h2>
            <img src="../../images/image" height="55" border="0">
          </div>

         </div>

【问题讨论】:

    标签: css html


    【解决方案1】:

    您可以使用媒体查询。然后你可以处理每个像素的样式

    @media only screen and (min-width: 320px) and (max-width: 575px) {
    //Use  your styling here
    }
    @media only screen and (min-width: 576px) and (max-width: 767px) {
    //Use  your styling here
    }
    

    【讨论】:

    • 媒体查询绝对是这里的路,你可以做手机、平板、桌面(或者你定义的任何其他尺寸)
    【解决方案2】:

    您可以为此使用媒体查询。在桌面上为它们中的每一个设置大约 33% 的宽度,在移动设备上设置大约 100% 的宽度。

    @media only screen and (min-width:320px) and (max-width: 600px) {
        .w3-third {
            width: 100%
        }
    }
    
    @media only screen and (min-width:600px) {
        .w3-third {
            float: left;
            width: 33.33%;
        }
    }
    

    这样,您可以使用不同的媒体查询轻松调整列的大小。

    顺便说一句,确保在父级上包含 clearfix(在这种情况下为.w3-row)。

    编辑:居中涉及一点数学。我已经为你制作了一些解释。

    https://jsfiddle.net/zmvphaj0/4/

    计算宽度的方法是首先计算空白空间(或装订线)出现的次数(在我们的例子中是 2 次),因此,如果您要采用完整的可用宽度并减去 2 次装订线,您'将具有列应覆盖的剩余空间。因此,您将剩余空间除以 3(请注意,该公式中的括号使其起作用)。 现在,您为除第一列之外的所有列(或除最后一列之外的所有列)赋予一个左边距。

    同样的逻辑适用于 12 列网格布局中的所有其他列宽。

    编辑 2: 更新了带有媒体查询的小提琴链接。

    谢谢拉夫... 工作小提琴:jsfiddle.net/w648ng81/36

    【讨论】:

    • 我想我所涉及的是本地文件中的 css,以便我可以操作。 w3 是一个链接拉,我不能很好地操纵它。所以寻找简单的css。我可以放入本地 css 文件并进行控制。
    • 您可以制作自己的 CSS 样式表并包含此代码。如果您愿意,还可以重命名类。上面的 sn-p 可以独立工作(它不依赖于 W3)。让我知道我是否做错了,而您正在寻找其他东西。
    • 向左浮动并位于所有其他元素的顶部。唔。需要居中而不是在其他 div/section 之上
    • 我添加了一个小提琴来使内容居中(这应该只包含在桌面或您想要 3 列布局的地方)。希望有帮助。如果答案正确,请标记答案。
    • 在不同的屏幕尺寸时不响应转到单列。嗯
    猜你喜欢
    • 2011-10-02
    • 2013-10-06
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多