响应式设计奇怪的行为
responsive design strange behaviour
有人可以看看这个吗
this codepen ?
不是我写的,但我无法理解这种响应行为...当我使用 codepen 或 F12 缩小屏幕大小时它可以工作,但是当我在移动设备上打开它时 phone 或在检查模式下打开它(800 像素以下的设备)它没有显示在单行中......有什么解决办法吗?
这是编写的响应代码
@media only screen and (max-width: 830px) {
#conference-timeline .timeline-start,
#conference-timeline .timeline-end {
margin: 0;
}
#conference-timeline .conference-center-line {
margin-left: 0;
left: 50px;
}
.timeline-article .meta-date {
margin-left: 0;
left: 20px;
}
.timeline-article .content-left-container,
.timeline-article .content-right-container {
max-width: 100%;
width: auto;
float: none;
margin-left: 110px;
min-height: 53px;
}
.timeline-article .content-left-container {
margin-bottom: 20px;
}
.timeline-article .content-left,
.timeline-article .content-right {
padding: 10px 25px;
min-height: 65px;
}
.timeline-article .content-left:before {
content: "\f0d9";
right: auto;
left: -8px;
}
.timeline-article .content-right:before {
display: none;
}
}
这是一个 codepen
问题。好吧,这不是真正的问题,但与它在编辑器模式下的工作方式有关。
在移动设备上,codepen 不支持媒体查询,因为它开始显示其桌面版本。我想这是为了让您仍然可以编辑 html
、css
和 JavaScript
。
但是,您切换到Full Page
模式,您可以查看编辑设计的响应度:https://codepen.io/Ratko_Solaja/full/ztxkw/
此外,请注意两件事:
添加元视口标签
<meta name="viewport" content="width=device-width, initial-scale=1">
添加CSS重置,在本例中归一化
<link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.css" rel="stylesheet">
为什么响应性有效?
因为 .content-left-container
和 .content-right-container
它在媒体查询上添加了 float:none
。
这是有效的代码:
body {
background: #e6e6e6;
font-family: "Roboto", sans-serif;
font-weight: 400;
}
/*===== Vertical Timeline =====*/
#conference-timeline {
position: relative;
max-width: 920px;
width: 100%;
margin: 0 auto;
}
#conference-timeline .timeline-start,
#conference-timeline .timeline-end {
display: table;
font-family: "Roboto", sans-serif;
font-size: 18px;
font-weight: 900;
text-transform: uppercase;
background: #00b0bd;
padding: 15px 23px;
color: #fff;
max-width: 5%;
width: 100%;
text-align: center;
margin: 0 auto;
}
#conference-timeline .conference-center-line {
position: absolute;
width: 3px;
height: 100%;
top: 0;
left: 50%;
margin-left: -2px;
background: #00b0bd;
z-index: -1;
}
#conference-timeline .conference-timeline-content {
padding-top: 67px;
padding-bottom: 67px;
}
.timeline-article {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
margin: 20px 0;
}
.timeline-article .content-left-container,
.timeline-article .content-right-container {
max-width: 44%;
width: 100%;
}
.timeline-article .timeline-author {
display: block;
font-weight: 400;
font-size: 14px;
line-height: 24px;
color: #242424;
text-align: right;
}
.timeline-article .content-left,
.timeline-article .content-right {
position: relative;
width: auto;
border: 1px solid #ddd;
background-color: #fff;
box-shadow: 0 1px 3px rgba(0,0,0,.03);
padding: 27px 25px;
}
.timeline-article p {
margin: 0 0 0 60px;
padding: 0;
font-weight: 400;
color: #242424;
font-size: 14px;
line-height: 24px;
position: relative;
}
.timeline-article p span.article-number {
position: absolute;
font-weight: 300;
font-size: 44px;
top: 10px;
left: -60px;
color: #00b0bd;
}
.timeline-article .content-left-container {
float: left;
}
.timeline-article .content-right-container {
float: right;
}
.timeline-article .content-left:before,
.timeline-article .content-right:before{
position: absolute;
top: 20px;
font-size: 23px;
font-family: "FontAwesome";
color: #fff;
}
.timeline-article .content-left:before {
content: "\f0da";
right: -8px;
}
.timeline-article .content-right:before {
content: "\f0d9";
left: -8px;
}
.timeline-article .meta-date {
position: absolute;
top: 0;
left: 50%;
width: 62px;
height: 62px;
margin-left: -31px;
color: #fff;
border-radius: 100%;
background: #00b0bd;
}
.timeline-article .meta-date .date,
.timeline-article .meta-date .month {
display: block;
text-align: center;
font-weight: 900;
}
.timeline-article .meta-date .date {
font-size: 30px;
line-height: 40px;
}
.timeline-article .meta-date .month {
font-size: 18px;
line-height: 10px;
}
/*===== // Vertical Timeline =====*/
/*===== Resonsive Vertical Timeline =====*/
@media only screen and (max-width: 830px) {
#conference-timeline .timeline-start,
#conference-timeline .timeline-end {
margin: 0;
}
#conference-timeline .conference-center-line {
margin-left: 0;
left: 50px;
}
.timeline-article .meta-date {
margin-left: 0;
left: 20px;
}
.timeline-article .content-left-container,
.timeline-article .content-right-container {
max-width: 100%;
width: auto;
float: none;
margin-left: 110px;
min-height: 53px;
}
.timeline-article .content-left-container {
margin-bottom: 20px;
}
.timeline-article .content-left,
.timeline-article .content-right {
padding: 10px 25px;
min-height: 65px;
}
.timeline-article .content-left:before {
content: "\f0d9";
right: auto;
left: -8px;
}
.timeline-article .content-right:before {
display: none;
}
}
@media only screen and (max-width: 400px) {
.timeline-article p {
margin: 0;
}
.timeline-article p span.article-number {
display: none;
}
}
/*===== // Resonsive Vertical Timeline =====*/
<head>
<meta charset="UTF-8" />
<title>Responsive Vertical Timeline</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.css" rel="stylesheet">
<!-- Fonts -->
<link href='https://fonts.googleapis.com/css?family=Roboto:400,300,400italic,700,900' rel='stylesheet' type='text/css'>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
</head>
<body>
<section id="conference-timeline">
<div class="timeline-start">Start</div>
<div class="conference-center-line"></div>
<div class="conference-timeline-content">
<!-- Article -->
<div class="timeline-article">
<div class="content-left-container">
<div class="content-left">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. Mankind, let us preserve and increase this beauty, and not destroy it! <span class="article-number">01</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="content-right-container">
<div class="content-right">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. <span class="article-number">02</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="meta-date">
<span class="date">18</span>
<span class="month">APR</span>
</div>
</div>
<!-- // Article -->
<!-- Article -->
<div class="timeline-article">
<div class="content-left-container">
<div class="content-left">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. Mankind, let us preserve and increase this beauty, and not destroy it! <span class="article-number">01</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="content-right-container">
<div class="content-right">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. <span class="article-number">02</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="meta-date">
<span class="date">18</span>
<span class="month">APR</span>
</div>
</div>
<!-- // Article -->
<!-- Article -->
<div class="timeline-article">
<div class="content-left-container">
<div class="content-left">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. Mankind, let us preserve and increase this beauty, and not destroy it! <span class="article-number">01</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="content-right-container">
<div class="content-right">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. <span class="article-number">02</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="meta-date">
<span class="date">18</span>
<span class="month">APR</span>
</div>
</div>
<!-- // Article -->
</div>
<div class="timeline-end">End</div>
</section>
<!-- // Vertical Timeline -->
</body>
有人可以看看这个吗 this codepen ?
不是我写的,但我无法理解这种响应行为...当我使用 codepen 或 F12 缩小屏幕大小时它可以工作,但是当我在移动设备上打开它时 phone 或在检查模式下打开它(800 像素以下的设备)它没有显示在单行中......有什么解决办法吗?
这是编写的响应代码
@media only screen and (max-width: 830px) {
#conference-timeline .timeline-start,
#conference-timeline .timeline-end {
margin: 0;
}
#conference-timeline .conference-center-line {
margin-left: 0;
left: 50px;
}
.timeline-article .meta-date {
margin-left: 0;
left: 20px;
}
.timeline-article .content-left-container,
.timeline-article .content-right-container {
max-width: 100%;
width: auto;
float: none;
margin-left: 110px;
min-height: 53px;
}
.timeline-article .content-left-container {
margin-bottom: 20px;
}
.timeline-article .content-left,
.timeline-article .content-right {
padding: 10px 25px;
min-height: 65px;
}
.timeline-article .content-left:before {
content: "\f0d9";
right: auto;
left: -8px;
}
.timeline-article .content-right:before {
display: none;
}
}
这是一个 codepen
问题。好吧,这不是真正的问题,但与它在编辑器模式下的工作方式有关。
在移动设备上,codepen 不支持媒体查询,因为它开始显示其桌面版本。我想这是为了让您仍然可以编辑 html
、css
和 JavaScript
。
但是,您切换到Full Page
模式,您可以查看编辑设计的响应度:https://codepen.io/Ratko_Solaja/full/ztxkw/
此外,请注意两件事:
添加元视口标签
<meta name="viewport" content="width=device-width, initial-scale=1">
添加CSS重置,在本例中归一化
<link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.css" rel="stylesheet">
为什么响应性有效?
因为 .content-left-container
和 .content-right-container
它在媒体查询上添加了 float:none
。
这是有效的代码:
body {
background: #e6e6e6;
font-family: "Roboto", sans-serif;
font-weight: 400;
}
/*===== Vertical Timeline =====*/
#conference-timeline {
position: relative;
max-width: 920px;
width: 100%;
margin: 0 auto;
}
#conference-timeline .timeline-start,
#conference-timeline .timeline-end {
display: table;
font-family: "Roboto", sans-serif;
font-size: 18px;
font-weight: 900;
text-transform: uppercase;
background: #00b0bd;
padding: 15px 23px;
color: #fff;
max-width: 5%;
width: 100%;
text-align: center;
margin: 0 auto;
}
#conference-timeline .conference-center-line {
position: absolute;
width: 3px;
height: 100%;
top: 0;
left: 50%;
margin-left: -2px;
background: #00b0bd;
z-index: -1;
}
#conference-timeline .conference-timeline-content {
padding-top: 67px;
padding-bottom: 67px;
}
.timeline-article {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
margin: 20px 0;
}
.timeline-article .content-left-container,
.timeline-article .content-right-container {
max-width: 44%;
width: 100%;
}
.timeline-article .timeline-author {
display: block;
font-weight: 400;
font-size: 14px;
line-height: 24px;
color: #242424;
text-align: right;
}
.timeline-article .content-left,
.timeline-article .content-right {
position: relative;
width: auto;
border: 1px solid #ddd;
background-color: #fff;
box-shadow: 0 1px 3px rgba(0,0,0,.03);
padding: 27px 25px;
}
.timeline-article p {
margin: 0 0 0 60px;
padding: 0;
font-weight: 400;
color: #242424;
font-size: 14px;
line-height: 24px;
position: relative;
}
.timeline-article p span.article-number {
position: absolute;
font-weight: 300;
font-size: 44px;
top: 10px;
left: -60px;
color: #00b0bd;
}
.timeline-article .content-left-container {
float: left;
}
.timeline-article .content-right-container {
float: right;
}
.timeline-article .content-left:before,
.timeline-article .content-right:before{
position: absolute;
top: 20px;
font-size: 23px;
font-family: "FontAwesome";
color: #fff;
}
.timeline-article .content-left:before {
content: "\f0da";
right: -8px;
}
.timeline-article .content-right:before {
content: "\f0d9";
left: -8px;
}
.timeline-article .meta-date {
position: absolute;
top: 0;
left: 50%;
width: 62px;
height: 62px;
margin-left: -31px;
color: #fff;
border-radius: 100%;
background: #00b0bd;
}
.timeline-article .meta-date .date,
.timeline-article .meta-date .month {
display: block;
text-align: center;
font-weight: 900;
}
.timeline-article .meta-date .date {
font-size: 30px;
line-height: 40px;
}
.timeline-article .meta-date .month {
font-size: 18px;
line-height: 10px;
}
/*===== // Vertical Timeline =====*/
/*===== Resonsive Vertical Timeline =====*/
@media only screen and (max-width: 830px) {
#conference-timeline .timeline-start,
#conference-timeline .timeline-end {
margin: 0;
}
#conference-timeline .conference-center-line {
margin-left: 0;
left: 50px;
}
.timeline-article .meta-date {
margin-left: 0;
left: 20px;
}
.timeline-article .content-left-container,
.timeline-article .content-right-container {
max-width: 100%;
width: auto;
float: none;
margin-left: 110px;
min-height: 53px;
}
.timeline-article .content-left-container {
margin-bottom: 20px;
}
.timeline-article .content-left,
.timeline-article .content-right {
padding: 10px 25px;
min-height: 65px;
}
.timeline-article .content-left:before {
content: "\f0d9";
right: auto;
left: -8px;
}
.timeline-article .content-right:before {
display: none;
}
}
@media only screen and (max-width: 400px) {
.timeline-article p {
margin: 0;
}
.timeline-article p span.article-number {
display: none;
}
}
/*===== // Resonsive Vertical Timeline =====*/
<head>
<meta charset="UTF-8" />
<title>Responsive Vertical Timeline</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.css" rel="stylesheet">
<!-- Fonts -->
<link href='https://fonts.googleapis.com/css?family=Roboto:400,300,400italic,700,900' rel='stylesheet' type='text/css'>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
</head>
<body>
<section id="conference-timeline">
<div class="timeline-start">Start</div>
<div class="conference-center-line"></div>
<div class="conference-timeline-content">
<!-- Article -->
<div class="timeline-article">
<div class="content-left-container">
<div class="content-left">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. Mankind, let us preserve and increase this beauty, and not destroy it! <span class="article-number">01</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="content-right-container">
<div class="content-right">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. <span class="article-number">02</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="meta-date">
<span class="date">18</span>
<span class="month">APR</span>
</div>
</div>
<!-- // Article -->
<!-- Article -->
<div class="timeline-article">
<div class="content-left-container">
<div class="content-left">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. Mankind, let us preserve and increase this beauty, and not destroy it! <span class="article-number">01</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="content-right-container">
<div class="content-right">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. <span class="article-number">02</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="meta-date">
<span class="date">18</span>
<span class="month">APR</span>
</div>
</div>
<!-- // Article -->
<!-- Article -->
<div class="timeline-article">
<div class="content-left-container">
<div class="content-left">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. Mankind, let us preserve and increase this beauty, and not destroy it! <span class="article-number">01</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="content-right-container">
<div class="content-right">
<p>When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. <span class="article-number">02</span></p>
</div>
<span class="timeline-author">John Doe</span>
</div>
<div class="meta-date">
<span class="date">18</span>
<span class="month">APR</span>
</div>
</div>
<!-- // Article -->
</div>
<div class="timeline-end">End</div>
</section>
<!-- // Vertical Timeline -->
</body>