前端之盒子模型

CSS之盒子模型

  • margin: 用于控制元素与元素之间的距离;margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。

  • padding: 用于控制内容与边框之间的距离;

  • Border(边框): 围绕在内边距和内容外的边框。

  • Content(内容): 盒子的内容,显示文本和图像。

1613997-20190530172149980-155550128.png

1.margin外边距

.margin-test {margin-top:5px;margin-right:10px;margin-bottom:15px;margin-left:20px;
}
/*推荐使用简写*/
.margin-test {margin: 5px 10px 15px 20px;
}
/*顺序:上右下左*/
/*常见的居中*/
.mycenter {margin: 0 auto;
}

2.padding内填充

.padding-test {padding-top: 5px;padding-right: 10px;padding-bottom: 15px;padding-left: 20px;
}
/*推荐使用简写*/
.padding-test {padding: 5px 10px 15px 20px;
}

顺序:上右下左

补充padding的常用简写方式:

  • 提供一个,用于四边;
  • 提供两个,第一个用于上-下,第二个用于左-右;
  • 如果提供三个,第一个用于上,第二个用于左-右,第三个用于下;
  • 提供四个参数值,将按上-右-下-左的顺序作用于四边;

3.float浮动

在 CSS 中,任何元素都可以浮动。

浮动元素会生成一个块级框,而不论它本身是何种元素。

关于浮动的两个特点:

  • 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
  • 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

三种取值

left:向左浮动

right:向右浮动

none:默认值,不浮动

4.clear

clear属性规定元素的哪一侧不允许其他浮动元素。

描述
left在左侧不允许浮动元素。
right在右侧不允许浮动元素。
both在左右两侧均不允许浮动元素。
none默认值。允许浮动元素出现在两侧。
inherit规定应该从父元素继承 clear 属性的值。

注意:clear属性只会对自身起作用,而不会影响其他元素。

清除浮动

清除浮动的副作用(父标签塌陷问题)

主要有三种方式:

  • 固定高度
  • 伪元素清除法
  • overflow:hidden

伪元素清除法(使用较多):

.clearfix:after {content: "";display: block;clear: both;
}

5.overflow溢出属性

描述
visible默认值。内容不会被修剪,会呈现在元素框之外。
hidden内容会被修剪,并且其余内容是不可见的。
scroll内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit规定应该从父元素继承 overflow 属性的值。
  • overflow(水平和垂直均设置)
  • overflow-x(设置水平方向)
  • overflow-y(设置垂直方向)

案例:制作个性的圆形头像

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>* {margin: 0;padding: 0;background-color: #eeeeee;}.head-img {width: 150px;height: 150px;margin: 75px;border: 3px solid white;border-radius: 50%;overflow: hidden;}.head-img>img {width: 100%;}</style>
</head>
<body><div class="head-img"><img src="本地图片的地址" alt=""></div>
</body>
</html>

6.定位(position)

static

static 默认值,无定位,不能当作绝对定位的参照物,并且设置标签对象的left、top等值是不起作用的的。

relative(相对定位)

相对定位是相对于该元素在文档流中的原始位置,即以自己原始位置为参照物。有趣的是,即使设定了元素的相对定位以及偏移值,元素还占有着原来的位置,即占据文档流空间。对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。

注意:position:relative的一个主要用法:方便绝对定位元素找到参照物。

absolute(绝对定位)

定义:设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

重点:如果父级设置了position属性,例如position:relative;,那么子元素就会以父级的左上角为原始点进行定位。这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那我子元素就设置position:absolute;父元素设置position:relative;,然后Top、Right、Bottom、Left用百分比宽度表示。

另外,对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>绝对定位</title><style>.c1 {height: 100px;width: 100px;background-color: red;float: left;}.c2 {height: 50px;width: 50px;background-color: #ff6700;float: right;margin-right: 400px;position: relative;}.c3 {height: 200px;width: 200px;background-color: green;position: absolute;top: 50px;}</style>
</head>
<body><div class="c1"></div><div class="c2"><div class="c3"></div>
</body>
</html>

7.fixed固定

fixed:对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性 定义。 注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这 是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是“定位流”。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。

在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>返回顶部示例</title><style>* {margin: 0;}.d1 {height: 1000px;background-color: #eeee;}.scrollTop {background-color: darkgrey;padding: 10px;text-align: center;position: fixed;right: 10px;bottom: 20px;}</style>
</head>
<body>
<div class="d1">111</div>
<div class="scrollTop">返回顶部</div>
</body>
</html>

脱离文档流:

  绝对定位

  固定定位

不脱离文档流:

  相对定位

8.z-index

#i2 {z-index: 999;
}

设置对象的层叠顺序。

  1. z-index 值表示谁压着谁,数值大的压盖住数值小的,
  2. 只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
  3. z-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。
  4. 从父现象:父亲怂了,儿子再牛逼也没用

案例:自定义模型框

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>自定义模态框</title>
</head>
<style>* {margin: 0;padding: 0;}.cover {background-color: rgba(0,0,0,0.65);position: fixed;top: 0px;right: 0px;bottom: 0px;left: 0px;z-index: 999;}.refg {background-color: white;position: fixed;width: 600px;height: 400px;left: 50%;top: 50%;margin: -200px 0 0 -300px;z-index: 1000;}
</style>
<body><div class="cover"></div><div class="refg"></div>
</body>
</html>

9.opacity

用来定义透明效果。取值范围是0~1,0是完全透明,1是完全不透明。

案例:实现仿造博客页面

<!--html页面-->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>cnblog</title><link rel="stylesheet" href="bases.css">
</head>
<body><!--左侧的栏目开始--><div class="cnlog-left"><div class="user-tx"><img src="../images/3.png" alt=""></div><div class="cnblog-title"><p>小米论坛</p></div><div class="cnblog-mess"><p>更多小米的产品尽情关注</p></div><div class="link"><ul><li><a href="#">关于小米</a></li><li><a href="#">联系我们</a></li><li><a href="#">更多资讯</a></li></ul></div><div class="cnblog-bottom"><ul><li><a href="#">小米5</a></li><li><a href="#">小米6</a></li><li><a href="#">小米plus</a></li></ul></div></div><!--左侧的栏目结束--><!--右侧的栏目结束--><div class="cnblog-right"><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米6</span><span class="date">2018-5-12</span></div><div class="actice-ys"><p>让我们一起来见证小米6的强大功能吧!</p></div><div class="artice-bottom"><span>强大的照相机</span><span>便捷的充电</span></div></div><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米7</span><span class="date">2018-3-12</span></div><div class="actice-ys"><p>让我们一起来见证小米7的强大功能吧!功能强大的到爆炸~~~</p></div><div class="artice-bottom"><span>柔光双摄</span><span>快充电源</span></div></div><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米6</span><span class="date">2018-5-12</span></div><div class="actice-ys"><p>让我们一起来见证小米6的强大功能吧!</p></div><div class="artice-bottom"><span>强大的照相机</span><span>便捷的充电</span></div></div><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米6</span><span class="date">2018-5-12</span></div><div class="actice-ys"><p>让我们一起来见证小米6的强大功能吧!</p></div><div class="artice-bottom"><span>强大的照相机</span><span>便捷的充电</span></div></div><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米6</span><span class="date">2018-5-12</span></div><div class="actice-ys"><p>让我们一起来见证小米6的强大功能吧!</p></div><div class="artice-bottom"><span>强大的照相机</span><span>便捷的充电</span></div></div><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米6</span><span class="date">2018-5-12</span></div><div class="actice-ys"><p>让我们一起来见证小米6的强大功能吧!</p></div><div class="artice-bottom"><span>强大的照相机</span><span>便捷的充电</span></div></div><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米6</span><span class="date">2018-5-12</span></div><div class="actice-ys"><p>让我们一起来见证小米6的强大功能吧!</p></div><div class="artice-bottom"><span>强大的照相机</span><span>便捷的充电</span></div></div><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米6</span><span class="date">2018-5-12</span></div><div class="actice-ys"><p>让我们一起来见证小米6的强大功能吧!</p></div><div class="artice-bottom"><span>强大的照相机</span><span>便捷的充电</span></div></div><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米6</span><span class="date">2018-5-12</span></div><div class="actice-ys"><p>让我们一起来见证小米6的强大功能吧!</p></div><div class="artice-bottom"><span>强大的照相机</span><span>便捷的充电</span></div></div><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米6</span><span class="date">2018-5-12</span></div><div class="actice-ys"><p>让我们一起来见证小米6的强大功能吧!</p></div><div class="artice-bottom"><span>强大的照相机</span><span>便捷的充电</span></div></div><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米6</span><span class="date">2018-5-12</span></div><div class="actice-ys"><p>让我们一起来见证小米6的强大功能吧!</p></div><div class="artice-bottom"><span>强大的照相机</span><span>便捷的充电</span></div></div><div class="cnblog-content"><div class="cnblog-actice"><span class="title">小米6</span><span class="date">2018-5-12</span></div><div class="actice-ys"><p>让我们一起来见证小米6的强大功能吧!</p></div><div class="artice-bottom"><span>强大的照相机</span><span>便捷的充电</span></div></div></div><!--右侧的栏目结束-->
</body>
</html>
/*CSS页面*/
/*通用样式*/
* {margin: 0;padding: 0;
}
body {background-color: #f0f0f0;
}
a {text-decoration: none;
}
ul {list-style-type: none;
}
.clearfix:after {content: '';clear: both;display: block;
}
/*左边的导航栏*/
.cnlog-left {float: left;position: fixed;left: 0;width: 20%;height: 100%;background-color: #4d4c4c;
}
.user-tx {width: 150px;height: 150px;border: 2px solid white;border-radius: 50%;margin: 20px auto;overflow: hidden;
}
.user-tx img {width: 100%;
}
.cnblog-title, .cnblog-mess {color: darkgray;text-align: center;
}
.link a, .cnblog-bottom a {color: darkgray;
}
.link a:hover, .cnblog-bottom a:hover {color: tomato;
}
.link ul, .cnblog-bottom ul {text-align: center;margin-top: 60px;
}
/*右边的导航栏*/
.cnblog-right {float: right;width: 80%;
}
.cnblog-content {background-color: white;margin: 20px 40px 20px 10px;box-shadow: 3px 3px 3px rgba(0,0,0,0.45);
}
.cnblog-actice {border-left: 3px solid red;
}
.title {font-size: 18px;font-weight: 500;
}
.date {float: right;font-size: 12px;margin-top: 10px;margin-right: 12px;
}
.actice-ys {border-bottom: 1px solid black;
}
.actice-ys p {font-size: 18px;text-ident: 24px;
}
.artice-bottom span {margin-left: 20px;font-size: 12px;
}

页面效果:

1613997-20190530172221012-1005511104.png

案例二:实现导航栏效果

<!--html代码-->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>导航栏示例</title><link rel="stylesheet" href="mycss.css">
</head>
<body><!--导航栏开始--><div class="nav"><ul class="clearfix"><li><a href="#">小米商城</a></li><li><a href="#">MIUI</a></li><li><a href="#">iop</a></li><li><a href="#">云服务</a></li><li><a href="#">水滴公益</a></li><li><a href="#">金融</a></li><li><a href="#">优品</a></li></ul></div><!--导航栏结束-->
</body>
</html>
/*CSS代码*/
/*通用样式*/
* {margin: 0;padding: 0;
}
a {text-decoration: none;
}
ul {list-style-type: none;
}
/*导航栏样式*/
.nav {background-color: black;width: 100%;height: 40px;position: fixed;top: 0;
}
li {float: left;
}
li>a {display: block;padding: 0 15px;color: #b0b0b0;line-height: 40px;
}
li>a:hover {color: tomato;
}
.clearfix:after {content: '';clear: both;display: block;
}

页面效果:

1613997-20190530172202326-1554971783.png

转载于:https://www.cnblogs.com/wanglei957/p/10950830.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424644.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Leetcode][第977题][JAVA][有序数组的平方][排序][双指针]

【问题描述】[简单] 【解答思路】 1. 排序 平方后排序 没有使用排序的特性 时间复杂度&#xff1a;O(NlogN) 空间复杂度&#xff1a;O(1) class Solution {public int[] sortedSquares(int[] A) {int[] ans new int[A.length];for (int i 0; i < A.length; i) {ans[i] …

开始《数据机构与算法之美》之旅

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 还在学算法&#xff0c;就像还在学英语一样悲催。想想自己为什么要学算法。学&#xff0c;是为了用。学了&#xff0c;能理解Java API提供的接口和数据结构的实现方式…

第三十七期:为什么2019年人工智能算法岗求职竞争如此激烈?

在各公司全面数据化智能化的当下&#xff0c;算法岗本该更受青睐&#xff0c;为何突然成了就业重灾区?除了暴力劝退&#xff0c;本文将从几个不同角度来分析当前算法岗的求职就业情况。 作者&#xff1a;皮皮鲁的AI星球 与前几年媒体报道的人工智能毕业生高薪难求形成鲜明对比…

第三十八期:用Git帮助写作者更好地完成工作

如果你是一名写作者&#xff0c;你也能从使用 Git 中受益。在我们的系列文章中了解有关 Git 鲜为人知的用法。 作者&#xff1a;佚名 如果你是一名写作者&#xff0c;你也能从使用 Git 中受益。在我们的系列文章中了解有关 Git 鲜为人知的用法。 Git 是一个少有的能将如此多的…

报错

报错 报错&#xff1a; 2019-05-31 11:38:42.645 WARN 18756 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class net.a…

第三十九期:1024特别版:向“程序媛们”致敬!

对女性程序员而言&#xff0c;似乎怎么选择都是错&#xff1a;闯入男性领地&#xff0c;输了&#xff0c;会强化社会对女性的固有刻板印象&#xff1b;赢了&#xff0c;打破了职业性别固化&#xff0c;会导致整个职业收入的下降。 作者&#xff1a;奇点、轻音 “到家得十二点半…

第四十期:十年生死两茫茫,Linux QQ突然复活!

就在 1024 将将过去的深夜&#xff0c;突然&#xff0c;有人在 QQ 群内丢了一个链接和一句话“Linux QQ 发布了”&#xff0c;顿时在静悄悄的 QQ 群内&#xff0c;大家纷纷冒了出来。一时间&#xff0c;群内就和开了锅一样热闹&#xff0c;大家纷纷抄起心爱的土琵琶 Linux&…

数据结构二——链表

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 底层存储 数组&#xff1a;一块连续的内存空间。 链表&#xff1a;用指针串起来的一组零散的内存空间。 链表分类&#xff1a;单链表、双向链表、循环链表 单链表…

UML作业第五次:分析系统,绘制状态图

一. PlantUML状态图 语法学习小结 1.简单状态 我们使用[*]开始和结束状态图&#xff0c;使用-->添加箭头。 startuml [*] --> Test1 Test1 --> [*] Test1 : this is a test Test1 : this is another testTest1 -> Test2 Test2 --> [*] enduml 2.更改状态渲染 我…

第四十一期:从Windows到鸿蒙——操作系统的前世与今生

世界上操作系统生意做得最好的是微软&#xff0c;但是世界上第一个做操作系统生意的不是微软&#xff0c;Windows也不是世界上最好用的系统。 作者&#xff1a;苏亚 “做一个操作系统的技术难度不大&#xff0c;难度大的是生态。”——任正非 华为被谷歌断供之后&#xff0c…

算法一——排序

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 分析排序算法的角度 算法的执行效率 算法的执行效率一般从时间复杂度以及比较、交换次数来考虑。 时间复杂度 时间复杂度需要考虑最好情况、最坏情况、平均情况时…

第四十二期:Linux转正日常办公电脑到底行不行

昨天是中国程序员们自定义的程序员日&#xff0c;阿里在秀食堂&#xff0c;另一网络巨头腾讯也不甘寂寞地小蹭了一下这个节日&#xff1a;发布了Linux QQ 2.0 beta&#xff0c;宣告Linux版QQ回归。 作者&#xff1a;电脑报 昨天是中国程序员们自定义的程序员日&#xff0c;阿…

[Kali][VMware][2020][窗口大小][分辨率]高分辨率自适应

1.Vmware->查看->自动调整大小->自动适应窗口 2.Kali现在提供了HiDPI模式。此模式可调整GTK&#xff0c;QT甚至基于Java的界面的缩放比例&#xff0c;因此用户无需手动修改每个界面。您可以通过从应用程序菜单中打开“ Kali HiDPI模式”或kali-hidpi-mode从终端运行来…

第四十三期:Wireshark网络分析就这么简单,你一定会喜欢的技巧

拿到一个网络包时&#xff0c;我们总是希望它是尽可能小的。操作一个大包相当费时&#xff0c;有时甚至会死机。如果让初学者分析1GB以上的包&#xff0c;估计会被打击得信心全无。所以抓包时应该尽量只抓必要的部分。 作者&#xff1a;科技yuan 一、抓包 拿到一个网络包时&a…

Beta冲刺(9/7)——2019.5.31

作业描述 课程软件工程1916|W(福州大学)团队名称修&#xff01;咻咻&#xff01;作业要求项目Beta冲刺&#xff08;团队&#xff09;团队目标切实可行的计算机协会维修预约平台开发工具Eclipse团队信息 队员学号队员姓名个人博客地址备注221600207黄权焕https://www.cnblogs.co…

数据结构三——跳表

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 跳表的由来 说明&#xff1a;图片来自极客时间 由来   二分查找的数据结构是数组&#xff0c;利用数组随机访问的特定查找的时间复杂度是O(logn)。如果数据结构是…

[BUGKU][CTF][MISC][2020] MISC writeup持续更新中

CTF总结 ctf基本操作&#xff1a;https://blog.csdn.net/mafucan/article/details/106886421 zip: https://www.anquanke.com/post/id/86211 找软件推荐网址 1.https://www.52pojie.cn/ 2.没有的话百度一下 去找百度云 工具下载&#xff1a; stegSolve 隐写分析 需要配置Java…

spring学习(1):初始项目

1打开idea----new project 2点击建立项目的类型maven 点击next 3点击next 4选择路径&#xff0c;点击完成 5建立成功之后修改pom.xml配置文件 添加&#xff0c;解决依赖关系 <dependencies><dependency><groupId>org.springframework</groupId><ar…

[密码学][困难问题][常见规约]密码学问题常见困难问题

参考网址(科学上网) 密码学问题常见困难问题,需要点击参考网址进行查找 其困难问题的介绍非常友好&#xff0c;请根据目录快速找到相关资料 以下是检索 目录 Discrete logarithm problem DLP: discrete logarithm problem CDH: computational Diffie-Hellman problem SDH:…

数据结构四——散列表(下)

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 7 散列表链表的应用 很多情况下散列表会和链表一起使用。散列表可以通过key查找value。链表可以按照value进行排序。这样就能通过value查找key&#xff0c;也可以通…