【发布时间】:2020-05-13 09:36:45
【问题描述】:
我正在尝试创建一个在桌面和移动设备上布局不同的标题,但我的知识使我陷入了死胡同。
我可以设计两种布局,但不知道如何在它们之间切换,因为这是 HTML 的区别,而不是 CSS,所以我不能只使用媒体查询。 我正在尝试这样做:
第一个是在桌面上。如您所见,导航链接位于图标 1 和 2 之间。 选项二是移动,导航链接应位于图标 1、标题和图标 2 下方。
桌面:
* {border: 1px solid black;}
header {
display: flex;
justify-content: center;
border-bottom: 4px solid red;
}
div {
display: flex;
flex-direction: column;
justify-content: center;
}
img {
width: 10%;
}
li {
display: inline-block;
}
<header>
<img src="https://previews.123rf.com/images/aneheli/aneheli1501/aneheli150100030/35379090-artistic-sliced-lying-pineapple-on-orange-background-square-shot.jpg">
<div>
<h1>My Website.com</h1>
<nav>
<ul>
<li>Home</li>
<li>About</li>
<li>Contact</li>
</ul>
</nav>
</div>
<img src="https://i.kym-cdn.com/photos/images/original/000/930/997/a0a.png">
</header>
手机:
* {border: 1px solid black;}
header {
display: flex;
flex-direction: column;
align-items: center;
border: 4px solid red;
}
div {
display: flex;
justify-content: center;
}
img {
width: 10%;
}
li {
display: inline-block;
}
<header>
<div>
<img src="https://previews.123rf.com/images/aneheli/aneheli1501/aneheli150100030/35379090-artistic-sliced-lying-pineapple-on-orange-background-square-shot.jpg">
<h1>My Website.com</h1>
<img src="https://i.kym-cdn.com/photos/images/original/000/930/997/a0a.png">
</div>
<nav>
<ul>
<li>Beep Boop</li>
<li>Making the header</li>
<li>Too long to fit inside</li>
</ul>
</nav>
</header>
主要区别在于导航链接位于桌面上的图像内。他们有足够的宽度可以将图像分开到所需的宽度,但是您不能在移动设备上执行此操作,因此移动解决方案将导航链接放在下面。问题是使用移动解决方案的桌面上的标题太高了。
最好的方法是什么?
【问题讨论】:
-
这可以使用媒体查询来完成。为什么不?标记可以相同。
-
如果导航在一个选项中的 div 中而在另一个选项中位于 div 之外,这是怎么回事?
-
不应该。标记还需要为您计划实现的目标做好准备。基本上两者的区别在于,在第二个示例中,导航链接应该显示为块。
标签: html css responsive