对于html的理解
div相当于就是一个框,对于里面的内容,样式进行编辑,就用到了css。
还有一个问题,假如我定义了一个div height=5px;然后我在div里面使用了<p>,接连使用了好几个,为什么可以文字可以越过原本定义的框的大小呢? 展开
HTML 的 div 标签的一个非常重要的作用是把其它的HTML标签及内容装起来,这么一来就可以一次性对这些被装起来的内容进行各种操作,例如:一次性把这些装起来的内容固定在某一个位置。所以说到 div 标签,经常都跟 CSS 放在一起,因为通过 CSS 可以对 div包含的所有内容 进行各种操作。
“为什么可以文字可以越过原本定义的框的大小呢?”
因为HTML没有规定不准文字在 div 边框外显示。只能这么解释。
文字或者其他内容越过边框,这个叫“溢出”。这就引出 CSS 中的一个属性 overflow,它的取值包括以下:
overflow: visible; 你经常看见的越过边框的情况就是因为默认状态下,所有的溢出内容都以这种状态显示。
overflow: hidden; 隐藏溢出
overflow: scroll; 下拉框显示
overflow: auto; 自动,没有溢出不显示下拉框,有溢出显示下拉框
不仅仅是 div 有溢出,很多的其它标签都会有溢出的时候。例如:
div溢出.html 文件代码如下:
<!doctype html>
<html lang="zh">
<head>
<meta charset="utf-8">
<title>div溢出</title>
<link href="divoverflow.css" rel="stylesheet">
</head>
<body>
<p>p溢出</p>
<p id="p1">p溢出</p>
<div>
<h1>div溢出</h1>
</div>
<div id="div1">
<h1>div溢出</h1>
</div>
</body>
</html>
divoverflow.css 文件代码如下:
p {
position: relative;
top: 30px;
width: 100px;
height: 10px;
background: goldenrod;
}
#p1 {
overflow: auto;
}
div {
position: relative;
top: 100px;
width: 120px;
height: 50px;
background: navy;
color: red;
}
h1 {
width: 100px;
height: 10px;
background: goldenrod;
}
#div1 {
top: 150px;
overflow: auto;
}
以上HTML和CSS可以看到除了 div 还有 p,h1标签也会溢出,其他的标签还有很多。
并不是对里面的内容进行编辑才用到css,div本身也可以用css,刚才说了它是没有语义的块级元素,所以多用来划分区域用
至于为什么可以越过你定义的高度那是浏览器就这么解析的,如果不想超过,可以定义高度后加上overflow:hidden;溢出隐藏,把超出部分隐藏了就看不到了
可以这么理解。至于p内的文字溢出div的高度这是默认情况,可以用css控制
div{
overflow:hidden//溢出则隐藏
}