#html #css
#HTML #css
Вопрос:
http://www.indofolio.com /, я пытаюсь создать веб-сайт с аналогичной функцией, но я не понимаю, как он сделал горизонтальную прокрутку с тегом привязки без javascript. Отключите javascript, и его веб-сайт все еще функционирует должным образом. Мне действительно нравится прогрессивное улучшение, которое он сделал.
Протестируйте код для горизонтальной привязки, уберите встроенный блок и переместите влево, и он отлично работает.
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.ab {
width: 20%;
height: 20%;
float: left;
display: inline-block;
border: 1px solid red;
}
</style>
</head>
<body>
<a href="#box1">aaaaaaa</a>
<a href="#box2">bbbbbbb</a>
<div id="container" style="width:100%">
<ul style="width:500%;height:2000px;background-color:red">
<li class="ab"><a name="box1"></a>
<div>test</div>
</li>
<li class="ab"><a name="box2"></a>
<div>test2</div>
</li>
<li class="ab">
<a name="box3"></a>
<div>test3</div>
</li>
<li class="ab">
<div></div>
</li>
<li class="ab">
<div></div>
</li>
</ul>
</div>
</body>
</html>
Ответ №1:
Как сказал Квентин, но его объяснения могут немного не хватать, если вы новичок в веб-дизайне. При выключенном javascript обратите внимание, что url
в изменяется. Домашняя страница www.indofolio.com/#box1
следующая имеет #box2
и т.д. Это id
поля содержимого, которые он использует. Нормальным поведением для a
тега является «переход» к этим точкам, если они существуют на странице и привязка настроена на это. Привязка его домашней страницы находится там, <a class="link home selected" href="#box1">Home</a>
где href
находится то, что вызывает переход к этому местоположению.
РЕДАКТИРОВАТЬ: Вот несколько переработанных кодов для вашего примера.
HTML
<div id="nav">
<a href="#box1">B1</a>
<a href="#box2">B2</a>
<a href="#box3">B3</a>
<a href="#box4">B4</a>
<a href="#box5">B5</a>
</div>
<div id="container">
<ul>
<li class="ab" id="box1">
<div>test1</div>
</li>
<li class="ab" id="box2">
<div>test2</div>
</li>
<li class="ab" id="box3">
<div>test3</div>
</li>
<li class="ab" id="box4">
<div>test4</div>
</li>
<li class="ab" id="box5">
<div>test5</div>
</li>
</ul>
</div>
CSS
body {
padding: 0;
margin: 0;
}
.ab {
width: 20%;
float: left;
padding: 0;
margin: 0;
}
.ab div {
height: 500px;
border: 1px solid red;
}
#container {
width: 500%; /* five page widths for five horizontal pages */
padding: 0;
margin: 1.5em 0 0;
}
#container ul {
width: 100%;
list-style: none;
padding: 0;
margin: 0;
}
#nav {
position: fixed;
left: 0;
top: 0;
}
#nav a {
margin-right: 10px;
display: inline-block;
}
Комментарии:
1. Да, я понимаю, как он прыгает, но он не работает по горизонтали, я просто вставил код сверху, просто протестируйте его. Когда вы удаляете встроенный блок и перемещаете влево, это работает отлично, но не наоборот. к сожалению, но это работает на indofolio …. это все еще загадка
2. Он не перемещается по горизонтали в indofolio с выключенным javascript. Это просто «прыгает» на место. Горизонтальная привязка выполняется только с помощью javascript.
3. отключите javascript, отключите скрытое переполнение в div id =»оболочка», изображения выравниваются по горизонтали, когда вы уменьшаете масштаб, чтобы минимизировать содержимое, и когда вы нажимаете на меню, оно переходит к нему. Я знаю. но это не работает нормально даже в моем простом тесте там. Он не будет прыгать по горизонтали… пожалуйста, будьте точнее, потому что я тупой, и я чувствую себя еще более тупым, когда мне приходится уточнять снова.
4. Хорошо, я думаю, что теперь я понял ваш вопрос. Я отредактировал ваш пример кода. Главное — сделать ваш контейнер достаточно широким, чтобы в нем могли размещаться объекты, которые вы перемещаете.
Ответ №2:
Он прокручивается по вертикали, используя обычные привязки, если JS недоступен.
Горизонтальное позиционирование применяется с помощью JS.