css可以通过为网页元素设置滚动条样式使网页元素的内容实现滚动。
css通过overflow属性设置滚动条示例:
<html>
<head>
<style type="text/css">
div
{
background-color:#00FFFF
width:150px
height:150px
overflow: scroll
}
</style>
</head>
<body>
<p>如果元素中的内容超出了给定的宽度和高度属性,overflow 属性可以确定是否显示滚动条等行为。</p>
<div>
这个属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,
用户代理都会提供一种滚动机制。因此,有可能即使元素框中可以放下所有内容也会出现滚动条。默认值是 visible。
</div>
</body>
</html>
效果图
扩展:
overflow属性介绍:
overflow 属性规定当内容溢出元素框时发生的事情。
说明
这个属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制。因此,有可能即使元素框中可以放下所有内容也会出现滚动条。
属性值:
visible 默认值。内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit 规定应该从父元素继承 overflow 属性的值。
一、 head里添加meta移动端的样式<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<div class="nav">
<!--汉堡logo menu--> <label for="toggle">☰</label>
<input type="checkbox" id="toggle">
<div class="menu">
<a href="#">Business</a>
<a href="#">Service</a>
<a href="#">Learn more</a>
<a href="#"><span>Free Trial</span></a>
</div></div>
这个汉堡包menu菜单样子其实有代码实现的 "☰" 而且是作为字体显示的,可以直接用font-size直接调整大小
二、css样式 -通用
body{
width: 100%
height: 100%
margin:0 //浏览器默认的body的margin是8px由浏览器的user-agent-stylesheet提供的。所以我们直接覆盖默认就可以了,
}
html{
font-family:'helvetica neue',sans-serif //可以写很多种字体样式,意思是浏览器自己一个个识别,前一个没有就看后一个,一直往后找,直到找到可以用的
}.nav{
float: right
text-align: right
height: 70px
line-height: 70px
border-bottom: 1px solid #eaeaea
}
label{
display: none
}
#toggle{
display:none
}
.menu a{
margin: 0 10px
text-decoration: none
color: gray
}
.menu{
margin: 0 30px 0 0
}
.menu a span{
color:#54d17a
}
//添加@media样式:
@media only screen and (max-width: 500px) {
label{
display: block
cursor: pointer
width: 26px
float: right
}
.menu{
width: 100%
display: none
text-align: center
}
.menu a{
display: block
clear:right
}
#toggle:checked + .menu{ //这是个技术点
transition:all 0.4s ease-in
display: block
}
}
label用for绑定的input,自带了点击事件,点击了label的哪个汉堡logo,input就checked,这样就利用纯CSS实现了点击按钮下拉菜单出现的功能