web学习笔记2

news/2025/1/12 1:56:49/

文档流
网页是一个多层的结构,设置样式也是一层一层的设置,最终我们看到的最上面的一层。

   文档流是网页最底层

          我们创建的元素默认情况下,都在文档流中

          元素分为两种状态:在文档流中,脱离文档流

    元素在文档流中的特点

        块元素

           1:会独占一行

           2:块元素的宽度默认是父元素的100%

           3:块元素的高度默认是被内容撑开的

        内联元素(行内元素)

           1:不会独占一行

           2:宽度高度默认都是被内容撑开的,不能自己定义宽高

        行内块元素

           1、不会独占一行,可以设置宽高

一旦元素通过某种方式,例如浮动、绝对定位等等,脱离文档流,则原来在文档流中划分元素类型,特点都不复存在
 

盒子模型:一个盒子由四个部分组成:content、padding、border、margin

content,即实际内容,显示文本和图像

boreder,即边框,围绕元素内容的内边距的一条或多条线,由粗细、样式、颜色三部分组成

padding,即内边距,清除内容周围的区域,内边距是透明的,取值不能为负,受盒子的background属性影响

margin,即外边距,在元素外创建额外的空白,空白通常指不能放其他元素的区域

<style>.box {width: 200px;height: 100px;padding: 20px;}
</style>
<div class="box">盒子模型</div>

默认情况下,盒子模型为W3C 标准盒子模型

内边距:

元素内容距离盒子边框的距离就是内边距,他并不是上下左右的大小相等。css盒模型在元素基础上多了border和margin属性,目的是便于布局,让网页好看。

<style>div{width: 600px;height: 600px;background-color: pink;/* padding-top: 20px;padding-left: 20px;padding-right: 20px;padding-bottom: 20px;*/padding: 30px;padding: 30px 50px;padding: 10px 60px 90px;/*上;左右,下*/padding: 10px 30px 60px 90px;/*       上    右   下   左   */}</style>

外边距:

盒子模型由四个部分组成,即内容(content),内边距(padding),边框(border),外边距(margin)。其中margin属性是用与设置外边距,即盒子与盒子之间的距离。

<style>ul li{list-style: none;background-color: pink;margin-bottom: 30px;}span{display: inline-block;width: 50px;background-color: aqua;margin-right: 5px;}</style>

外边距塌陷问题:

对于两个嵌套关系(父子关系)的块元素,父元素有上边距子元素也有上边距,此时父元素会塌陷较大的外边距值。

<style>.father{width: 800px;height: 800px;background-color:powderblue;/*border: 1px solid red;*/padding: 5px;}.son{width: 100px;height: 100px;;background-color:pink;/* margin-bottom: 20px;*/overflow:hidden;}.son2{margin-top: 10px;}.son3{margin-top: 10px;}.son1{margin-top:300px;}/* margin塌陷问题 父元素的第一个子元素的margin-top值会被父元素抢走给父元素添加边框overflow:hidden;----偏方*//*padding:10px 20px 40px 80px 顺时针*/</style>

   解决办法:

  1. 给父元素定义边框
  2. 给父元素一个内边距
  3. 为父元素添加over-flow: hidden

文本溢出:

在日常开发展示页面,如果一段文本的数量过长,受制于元素宽度的因素,有可能不能完全显示,为了提高用户的使用体验,这个时候就需要我们把溢出的文本显示为省略号

<style>div{width: 800px;height: 800px;background-color: pink;/*overflow:auto;*//*overflow: hidden;*/overflow: visible;}</style>

单行文本溢出省略

实现方式涉及的css属性有:

  • text-overflow:规定当文本溢出时,显示省略符号来代表被修剪的文本
  • white-space:设置文字在一行显示,不能换行
  • overflow:文字长度超出限定宽度,则隐藏超出的内容

样式继承

样式继承的定义:为一个元素设置样式,同时也会运用到它的后代元素上

样式继承的优势:方便开发,通用样式写在共同的祖先元素上

注意:并不是所有样式都会被继承,比如:背景相关的,布局相关等不会被继承

<style>a{text-decoration: none;}/*div,div span,aiv a {font-size:40px;}*/div {font-size: 50px;color: #807474;/*padding: 13px;*/}/*css样式的继承性不是所有的样式都继承,只有改变之后对布局无影响的样式,才会继承a链接最好在自身更改样式*/</style>

flex布局:

Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。行内元素也可以使用Flex布局。

注意,为某个元素设置Flex布局以后,子元素的float、clear 和 vertical-align 属性将失效。

<style>.father{width: 800px;height: 100px;background-color: pink;display: flex;/*排列方式*/flex-direction: row-reverse;flex-direction: column;flex-direction: column-reverse;flex-direction: row;/*让flex布局变为多行*/flex-wrap: wrap;flex-wrap: nowrap;/*flex-wrap: wrap; *//*水平轴上的布局*//*主轴上的布局*/justify-content: center;justify-content: end;justify-content: space-between;justify-content: space-around;justify-content: space-evenly;/*侧轴*/align-items: center;/*align-items: end;*/align-items: start;align-content: start;align-content: end;align-content: center;align-content: space-between;align-content: space-around;align-content: space-evenly;}.son {width: 170px;height: 200px;background-color: aqua;}</style>

定位补充:

定位是布局中的重要属性,一般用于盖压效果与位置相关效果。

css中的position属性,position有四个值:relative(相对定位)、absolute(绝对定位)、static(静态定位)和fixed(固定定位),通过top、left、bottom、right来调整元素位置

<style>.father{position: relative;width: 500px;height: 500px;background-color: pink;}.son{width: 100px;height: 100px;background-color: aqua;}.son1{position: absolute;/*z-index 定位中显示的优先级*/z-index: 1;top: 100px;left: 50px;background-color: aquamarine;}.son2{position: absolute;z-index: 3;top: 110px;left: 80px;background-color: blueviolet;}</style>
属性值作用备注
relative相对定位参考元素本身
absolute绝对定位参考最近的祖先元素
static静态定位基本定位规定
fixed固定定位参考浏览器窗口



浮动:

 有很多的布局效果,标准流没有办法完成,此时就可以利用浮动完成布局。 因为浮动可以改变元素标签默认的排列方式

浮动最典型的应用:可以让多个块级元素一行内排列显示。

网页布局第一准则:多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动

<style>.father{width: 1000px;/*height: 1000px;*/background-color: pink;}.son{float: left;width: 200px;height: 200px;background-color: aqua;}.son2{background-color: blue;float: left;/*浮动,会脱离文档流 不再保留原来位置  会造成在其下方的兄弟元素位置发生变化*//*当子元素发生浮动时,其父元素会发生高度塌陷     */    }.son3{width: 400px;background-color: black;}</style>

float问题解决办法:

1、overflow方法,给父级元素一个overflow:hidden,设置高度值为auto,在没有明确高度限制的情况下,那么父级元素在隐藏超出他的元素是就会把浮动元素考虑在内,这样就防止了盒子模型的塌陷,同时,既然盒子不塌陷了,那么后续的元素就不能过来占用float原本的位置,顺便达成了清除浮动的目的
2
、clearfix,使用clearfix后告诉后面的元素,前面的元素是浮动的,他们的位置是不能占用的。当然这种方法在使用过程中要注意clearfix添加的位置。clearfix是加在浮动元素的父级的class中

3、clear:both方法,其实就是第二种方法中使用空标签的时候换一个class,而这个class中只需要一句话clear:both即可

​
<style>ul{height: 300px;/*overflow: hidden;*/}ul li{float: left;list-style: none;margin-right: 20px;}/*div{clear: both;}*/p{/*clear 清除浮动*/clear: both;}</style>​

2D转换:

1.特点

2D转换是通过css来改变元素的形状或位置,也可以叫做变形

2.优点

变形不会影响到页面的布局

1.translate  平移
可选值:a  translateX()沿着x轴方向平移

意思是说设置元素沿着水平方向平移

b  translateY()沿着Y轴方向平移

意思是说设置元素沿着垂直方向平移

c  translateZ()沿着Z轴方向平移

意思是说设置元素沿着自己的方向平移

rotate()  旋转

可选值:  rotateX() ,元素围绕其 X 轴以设定的度数进行旋转

 rotateY() ,元素围绕其 Y轴以设定的度数进行旋转

 rotateZ() ,元素围绕其 Z轴以设定的度数进行旋转

单位:数值deg

transform-origin  设置变形原点

可选值:a  默认值transform-origin:(center  center)

 值也可以为方向值(left、center、top、right、bottom等),也可以是以px、%为单位的数值

scale  缩放

缩放属性是让元素根据中心原点对对象进行缩放

<style>.father{width: 300px;height: 300px;border: 1px solid black;margin: 0 auto;}.son{width: 300px;height: 300px;background-color: pink;/*平移*//*transform: translate(-40px,40px);*//*transform: translateX(70px);*//*transform: translateY(-60px);*//*旋转*//*transform:rotateZ(40deg);*//*复合写法 旋转永远放在最后一个*//*transform: translate(100px) rotateZ(45deg);*//*transform: scale(1.5);*//*transform: scaleX(2);*//*transform: scaleY(2);*//*transform: skew(40deg);*//*向右下移动100px  旋转45度 缩放1.5*/transform: translate(100px,100px) scale(1.5) rotate(45deg);}</style>

3D:

旋转的三个方向,沿着三个轴旋转实现3D的变换,也可以设置透视效果。
沿着x轴的旋转类似于平面的移动,y轴的旋转类似于芭蕾舞移动,z轴方向类似于翻跟头的动作

需要存在父容器来进行旋转,舞台来形成透视关系。
属性设置:
父容器:transform-style:preserve-3d;transform:rotate Y(60deg);
舞台:perspective:100px

<style>.father{width: 300px;height: 300px;border: 1px solid black;margin: 100px auto;transform-style: preserve-3d;perspective: 800px;/*perspective-origin: 100px 200px;*/}.son{width: 300px;height: 300px;background-color: pink;/*transform: translateZ(200px);*/transform: rotateX(45deg);/*transform: rotateY(45deg);*//*transform: rotate3d(1, 1 ,0 ,45deg);*/backface-visibility: hidden;transform-origin: bottom;}</style>


http://www.ppmy.cn/news/819781.html

相关文章

IDEA中 jps+jmap+jconsole命令查看堆内存情况

结论 1.获取进程idjps2.jmap 某个时刻堆内存的情况jdk8之前jmap -heap pid 15876jdk8之后jhsdb jmap --heap --pid 158763.jconsole 动态查看堆内存情况&#xff0c;直接jconsole ,然后弹出可视化窗口jconsole其中12 要结合使用&#xff0c;且是静态的查看&#xff1b;3可以单…

you have got to find what you love

卡尔维诺中文站 Italo Calvino in China 3. 初到美国&#xff1a;康乃尔大学的学生生活与不同种族和不同信仰人士的接触 | 首页 | 4.青年期的政治训练 斯蒂夫乔布斯《你必须要找到你所爱的东西》 卡尔维诺中文站&#xff1a;首页 -> 其他资源 -> 散文 This is the te…

提高写作能力的15条技巧和建议

目录 1、阅读优秀的作品 2、尽可能多的写 3、随时随地记下你的灵感 4、专门的写作时间 5、随便涂鸦 6、集中精神 7、先计划&#xff0c;再写 8、创新 9、修改 10、简明扼要 11、富于感染力的句子 12、获取别人的反馈 13、是骡子还是马&#xff0c;拉出来溜溜 14、采用对话式的文…

读编程好书,内化并运用

文章是我在读《程序员的修炼之道&#xff1a;从小工到专家》这本书的时候看到的一篇我觉得比较优秀的序言&#xff0c;所以分享出来&#xff0c;也便于自己阅览&#xff0c;序言如下如下&#xff1a; 程序员心底的小声音 编程大约有三个境界&#xff0c;新手、高手和高不成低不…

《写作的诞生》读后感

写作的诞生&#xff1a;如何开启你的写作之路 多萝西娅布兰德 目录 第1章 引出为什么写作... 1 第2章 如何克服困难... 1 第3章 作家是怎样的人... 1 第4章 表里不一的好处... 2 第5章 学会反思... 2 第6章 约束潜意识... 2 第7章 按时写作... 3 第8章 初次检查... 4 …

【研究】周耀旗写好英语科技论文的诀窍

目录 简介 写好英语科技论文的诀窍&#xff1a;主动迎合读者期望&#xff0c;预先回答专家可能质疑 前 言 导 言 审稿人要什么? 怎样满足审稿人&#xff1f; 文章的结构 结果部分 标 题 引言部分 讨论部分 摘要部分 总 结 结 束 语 致 谢 简介 多学者做…

NIPS最佳,惊人的天赋与无人察觉的缺陷并存,GPT-3的未来有多少种可能......

点击上方“AI遇见机器学习”&#xff0c;选择“星标”公众号 重磅干货&#xff0c;第一时间送达 来自&#xff1a;学术头条 今年夏天&#xff0c;美国旧金山的一个人工智能&#xff08;AI&#xff09;实验室推出了一个新的计算机系统&#xff0c;这个新系统名为 GPT-3&#xff…

Tailwind CSS

Tailwind CSS Tailwind CSS是一个实用程序优先的 CSS 框架&#xff0c;用于快速构建自定义用户界面. Useful Links 传奇&#xff1a;官方资源 Website - 官方 Tailwind CSS 网站.Repository - 官方 Tailwind CSS 存储库.Discussions - 与其他社区成员就 Tailwind 进行联系的…