当您单击“恢复”时,一些文本从左侧进入。这是因为我最初对文本给出了负余量。
但负利润率 intro_page
没有效果。
我想要的是:
当我点击
resume_page
,简历的文本应该从左边(这个作品)和文本intro_page
应该向右走(这不起作用)。负边际
intro_page
似乎没有工作。这是为什么?最初,除两个链接外,页面应为空。目前,
intro_page
页面显示。resume_page
根据需要正确隐藏。
总之,一切都是关于 resume_page
工作得很好。我想要完全相同的事情发生 intro_page
function clicked_resume(OnScreen)
{
var resume = document.getElementById('resume_page');
if(OnScreen == 1)
{
resume.className = '';
clicked_about(0);
}
else if(OnScreen == 0)
{
resume.className = 'unseen';
}
}
function clicked_about(OnScreen)
{
var about = document.getElementById('intro_page');
if(OnScreen == 1)
{
about.className = '';
clicked_resume(0);
}
else if(OnScreen == 0)
{
about.className = 'unseen';
}
}
#intro_page.unseen{
display: block;
margin-right: -200px;
}
#intro_page{
margin-right: 0px;
display: block;
-webkit-transition: margin-right 1.5s ease-in;
transition: margin-right 1.5s ease-in;
}
#resume_page.unseen{
display: block;
margin-left: -600px;
}
#resume_page{
margin-left: 0px;
display: block;
-webkit-transition: margin-left 1.0s ease-in;
transition: margin-left 1.0s ease-in;
}
<h2 class="title_bar">
<ul>
<li><span onclick = "clicked_about(1)">About</span></li>
<li><span onclick="clicked_resume(1)">Resume</span></li>
</ul>
</h2>
<div id="intro_page" class="unseen">
<p id="intro_main_text"> I enjoy reading, swimming, jogging, painting and exploring. </p>
<figure class="intro_pic1">
<img src="img/award.jpg" alt="Receiving Award" height="50" />
<figcaption>Award 2015</figcaption>
</figure>
</div>
<div id="resume_page" class="unseen">
<p>My resume</p>
</div>
起源
答案:
尝试使用 position: relative
和 right
代替 margin-right
。它更可靠,因为它在定位其他元素时不考虑元素的位置,例如 margin
确实。对于你甚至可以使用的奖励积分 transform: translate
代替 right
。
function clicked_resume(OnScreen)
{
var resume = document.getElementById('resume_page');
if(OnScreen == 1)
{
resume.className = '';
clicked_about(0);
}
else if(OnScreen == 0)
{
resume.className = 'unseen';
}
}
function clicked_about(OnScreen)
{
var about = document.getElementById('intro_page');
if(OnScreen == 1)
{
about.className = '';
clicked_resume(0);
}
else if(OnScreen == 0)
{
about.className = 'unseen';
}
}
body {
margin: 0;
overflow-x: hidden;
}
#intro_page.unseen{
display: block;
right: -100%;
}
#intro_page{
position: relative;
right: 0px;
display: block;
-webkit-transition: right 1.5s ease-in;
transition: right 1.5s ease-in;
}
#resume_page.unseen{
display: block;
left: -600px;
}
#resume_page{
position: relative;
left: 0px;
display: block;
-webkit-transition: left 1.0s ease-in;
transition: left 1.0s ease-in;
}
<h2 class="title_bar">
<ul>
<li><span onclick = "clicked_about(1)">About</span></li>
<li><span onclick="clicked_resume(1)">Resume</span></li>
</ul>
</h2>
<div id="intro_page" class="unseen">
<p id="intro_main_text"> I enjoy reading, swimming, jogging, painting and exploring. </p>
<figure class="intro_pic1">
<img src="img/award.jpg" alt="Receiving Award" height="50" />
<figcaption>Award 2015</figcaption>
</figure>
</div>
<div id="resume_page" class="unseen">
<p>My resume</p>
</div>
答案:
尝试使用 position: relative
和 right
代替 margin-right
。它更可靠,因为它在定位其他元素时不考虑元素的位置,例如 margin
确实。对于你甚至可以使用的奖励积分 transform: translate
代替 right
。
function clicked_resume(OnScreen)
{
var resume = document.getElementById('resume_page');
if(OnScreen == 1)
{
resume.className = '';
clicked_about(0);
}
else if(OnScreen == 0)
{
resume.className = 'unseen';
}
}
function clicked_about(OnScreen)
{
var about = document.getElementById('intro_page');
if(OnScreen == 1)
{
about.className = '';
clicked_resume(0);
}
else if(OnScreen == 0)
{
about.className = 'unseen';
}
}
body {
margin: 0;
overflow-x: hidden;
}
#intro_page.unseen{
display: block;
right: -100%;
}
#intro_page{
position: relative;
right: 0px;
display: block;
-webkit-transition: right 1.5s ease-in;
transition: right 1.5s ease-in;
}
#resume_page.unseen{
display: block;
left: -600px;
}
#resume_page{
position: relative;
left: 0px;
display: block;
-webkit-transition: left 1.0s ease-in;
transition: left 1.0s ease-in;
}
<h2 class="title_bar">
<ul>
<li><span onclick = "clicked_about(1)">About</span></li>
<li><span onclick="clicked_resume(1)">Resume</span></li>
</ul>
</h2>
<div id="intro_page" class="unseen">
<p id="intro_main_text"> I enjoy reading, swimming, jogging, painting and exploring. </p>
<figure class="intro_pic1">
<img src="img/award.jpg" alt="Receiving Award" height="50" />
<figcaption>Award 2015</figcaption>
</figure>
</div>
<div id="resume_page" class="unseen">
<p>My resume</p>
</div>
原因是在CSS中元素是从左到右铺设的,margin-right永远不会按你的意愿工作。
只是像这样修改你的CSS,它将作为一个魅力。
body {
overflow:hidden
}
#intro_page.unseen{
transform: translateX(120%);
transition: transform 1s ease-in;
}
#intro_page{
transform: translateX(0);
transition: transform 1s ease-in;
}
#resume_page.unseen{
transform: translateX(-100%);
transition: transform 1s ease-in;
}
#resume_page{
transform: translateX(0);
transition: transform 1s ease-in;
}
提示:为了在动画中获得更好的表现,请始终使用翻译而不是位置,边距,宽度......
你可以读一读 本指南,左右负边距的行为不一样:负面 margin-left
拉扯 病急乱投医 左边的元素,而负面的元素 margin-right
拉扯 相邻的 元素朝着风格元素。它不会移动样式元素本身。
如果要实现输出,请使用 position: relative
和 left
在最右边定位你的介绍div的属性:见 这个小提琴。