首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何基于响应式设计对齐div

如何基于响应式设计对齐div
EN

Stack Overflow用户
提问于 2018-08-18 12:24:11
回答 2查看 42关注 0票数 0

我有一些HTML和CSS代码,如下所示:

https://codepen.io/aspnetgal/pen/vaoNPz

代码语言:javascript
运行
复制
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

.adv-signup {position: relative; 
   background-image: linear-gradient( #fff, #eff1f1);
   
  width: 100%; height: 400px; }

	
.contents {position: absolute;  width: 1000px; 
 height: 200px; background-color:#2183c2;

}
.contents .bg{
 
  background: #ffffff url("https://s6.postimg.cc/ugw1p1pcx/sprite.png ") no-repeat left top;
   margin:0;
}
.text{
  
   font-family: "Ubuntu"; 
    font-weight: light;
    color:white;
 
     }

.text h3{
 font-weight: bold;
 }
.controls
{
  
}

 .btn
{
  background: #0c5382;
  color:white;
 
}
h3,h1{
    padding: 0px;
    margin: 0px !important;
}
/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
    .adv-signup {background: red;}
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
    .contents {background: green;}
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
    .contents {background: blue;}
} 

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
    .contents {background: orange;}
} 

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
    .contents {background: pink;}
}
代码语言:javascript
运行
复制
<div class="adv-signup">
   
        <div class="contents">
          <div class="bg">
                <h1>test</h1>
              </div>
           <div class="text">
                   <h3>Sign up for E-News</h3>
                <p>Leave your email and we’ll send you regular updates on programs, events and news.</p>
            </div>

            <div class="controls">
                <input name="adv-sign-up-email-field" id="adv-sign-up-email-field" type="text" maxlength="255" value="Enter your email" />
                <a href="#" class="btn"> &gt;</a>
            </div>
        </div>
<div>

对于桌面,我希望div内容有文本(标题和段落)和控件显示在单行中。

对于tablet,我希望div内容具有文本(标题/并排垂直对齐)和控件显示在一行中。

我想为一个移动的div内容,其中有文本标题,段落和控件要在垂直线上显示。

EN

回答 2

Stack Overflow用户

发布于 2018-08-18 18:01:31

支持Anji响应,您应该在媒体查询下编写所有CSS。以下是您应该至少遵循的查询列表。

最小宽度: 320px (较小的手机视点)最小宽度: 480px (小型设备和大多数手机)最小宽度: 768px (大多数平板电脑)最小宽度: 992px (较小的桌面视点)最小宽度: 1200px (大型设备和宽屏)

注意:-使用JS设置无论如何都是一项代价高昂的工作!

票数 1
EN

Stack Overflow用户

发布于 2018-08-18 12:40:06

更新了js小提琴。https://codepen.io/anon/pen/BPXbjx

您需要添加以下代码。

代码语言:javascript
运行
复制
.contents{
  display:flex;
}
@media (max-width:767px){
  .contents{
    display:block;
  }
}

我希望你能做剩下的风格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51905241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档