【问题标题】:Position right and left gets merged in DIV in CSS左右位置在 CSS 中合并到 DIV 中
【发布时间】:2021-06-24 07:39:12
【问题描述】:

尝试调整我的网站!但是当屏幕是半屏时,左右元素都会合并。 我希望它们是一个在另一个之下,左元素在前,右元素在第二。

@media only screen and (max-width:400px) {
.about-right,
.about-left {
    float:none;
    width:100%;
    padding-left: 25px;
    padding-right: 25px;
}

Full screen Half screen

半屏也是默认的移动视图。请帮忙。

全屏代码:

`@media only screen and (max-width:1024px) {
   .about-profile {
    padding-right: 5rem;
}

.about-services {
    padding-left: 5rem;
}

@media only screen and (max-width:900px) {
.about-profile {
    padding-right: 4rem;
}

.about-services {
    padding-left: 4rem;
}

@fevid 第一次回答之后

After edit

HTML 代码:

<section id="about">

    <div class="about-profile-bg"></div>

    <div class="about-wrap">

        <div class="about-profile">

            <div class="about-profile-bg"></div>

        <div class="about-services"> </div>

配置文件 = 右侧,服务 = 左侧。 我已经使用 CSS 来使用和设置左右两侧的样式。

.about-profile{
float: right;
width: 50%;
padding-left: 20px;
padding-right: 20px;
}

.about-services {
    float:left;
    width: 50%;
    padding-left: 20px;
    padding-right: 20px;
}
 .about-services-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/profile-bg.jpg);
    background-color: #615e5e;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    opacity: 1;

.about-profile-bg {
    position:absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:#aaa7a3;
    width: 50%;
    background-image: url(../images/service-bg.jpeg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    opacity: .80;
   }

【问题讨论】:

    标签: html css webview


    【解决方案1】:

    不要使用float,而是使用flex,在较小的屏幕上将flex-direction更改为column

    假设你的父容器有 .about 类:

    @media only screen and (min-width:401px) {
      .about {
         display: flex;
         justify-content: space-between;
      }
    }
    @media only screen and (max-width:400px) {
      .about {
         display: flex;
         flex-direction: column:
      }
    }
    

    【讨论】:

    • 您好@fevid,非常感谢您抽出宝贵时间输入此解决方案。在您的代码之后,网站呈现如下。我会在主要问题中附上图片。
    • @Sujith,您是否在仅包含您提到的两个 div 的父级上使用了我的代码?如果超过这两个,它将无法正常工作。您的代码似乎包含更多内容,在我们的帮助下可能无法正常工作,因为需要进行很多更改才能使其正常工作。
    • 如果你有时间,可以看看我的 gitrepo 吗? [link]github.com/shsujith/shyamsujith.github.io这是完整的代码。
    【解决方案2】:

    如果文本比图像长,这取决于您希望页面的外观。

    如果你想让它包裹在 img 下,如果它更长,那么在 img 上使用 float: left 是正确的(这就是 float 的设计目的),但删除 div float: right 在文本上。然后当视口低于您的限制时,将宽度设置为 100% 将确保 img 高于文本。看到这个sn-p:

    body {
      font-size: 30px; /* just to demo the wrapping round */
    }
    .about-right,
    .about-left {
      width: 45%;
    }
    .about-right {
      float: right;
    }
    .about-left {
      float: left;
      margin-right: 10px;
    }
    @media (max-width:400px) {
    .about-right,
    .about-left {
        rfloat:none;
        rclear: both;
        width:100%;
        padding-left: 25px;
        padding-right: 25px;
    }
    }
    <img src="https://picsum.photos/id/1015/200/300" class="about-left">
     Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
     <br> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
     <br> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
     <br> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
     <br> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
     </body>

    如果您希望文本保留在右侧,则可以使用已有的结构。在较窄的视口上将宽度增加到 100% 将强制文本 div 位于图像下方。看到这个sn-p:

    body {
      font-size: 30px; /* just to demo the wrapping round */
    }
    .about-right,
    .about-left {
      width: 45%;
    }
    .about-right {
      float: right;
    }
    .about-left {
      float: left;
      margin-right: 10px;
    }
    @media (max-width:400px) {
    .about-right,
    .about-left {
        width:100%;
        padding-left: 25px;
        padding-right: 25px;
    }
    }
    <img src="https://picsum.photos/id/1015/200/300" class="about-left">
    <div class="about-right">
     Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
     <br> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
     <br> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
     <br> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
     <br> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    </div>

    确保媒体声明中有右括号。

    但是,您可能想研究其他方法,特别是 grid 和 flex,因为 float 实际上只是这里的第一个示例,当您希望文本在 img 周围浮动时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 2021-12-31
      • 2014-10-29
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      相关资源
      最近更新 更多