Here is some text that will flow around the image. Here is some text that will flow around the image. Here is some text that will flow around the image.
目录
盒子模型
盒子模型的组成部分
盒子模型的表示方式
标准盒子模型
IE盒子模型
盒子模型的应用
设置元素的大小
设置元素的内边距
设置元素的边框
设置元素的外边距
使用盒子模型进行布局
浮动
实现多列布局
图片环绕文字
实现响应式布局
定位
静态定位
相对定位
绝对定位
伪类
:hover
:active
:focus
:visited
:nth-child()
:not()
伪类的语法规则和注意事项
伪元素
::before
::after
::first-letter
::first-line
伪元素的语法规则和注意事项
这是一个盒子
内容区域是指HTML元素的实际内容,例如文本或图像等。内容区域的大小由元素的width和height属性确定。
内边距是指元素内容与边框之间的空间,用padding属性设置。内边距的大小会影响元素的实际大小。
边框是指围绕元素内容和内边距的线条,用border属性设置。边框的大小、样式和颜色都可以被控制。
外边距是指元素边框和相邻元素之间的空间,用margin属性设置。外边距可以用来调整元素之间的距离,也可以用来居中元素。
在CSS中,盒子模型有两种不同的表示方式:标准盒子模型和IE盒子模型。
标准盒子模型的宽度和高度属性仅仅包含内容区域的大小。也就是说,设置一个元素的width和height属性时,只会影响到元素的内容区域大小,不会影响到元素内边距、边框和外边距的大小。
我们设置了一个div元素的宽度为200像素和高度为100像素:
This is some text inside the div element.
元素的实际大小为:内容区域的宽度为180像素(200 - 2*10)
内容区域的高度为80像素(100 - 2*10)
整个元素的宽度为220像素(180 + 210 + 21)
整个元素的高度为120像素(80 + 210 + 21)
IE盒子模型的宽度和高度属性则包含了内容区域、内边距和边框的大小。也就是说,在IE盒子模型中设置一个元素的width和height属性时,会影响到元素的内容区域、内边距、边框和外边距的大小。
我们设置了一个div元素的宽度为200像素和高度为100像素:
This is some text inside the div element.
在设置了box-sizing: border-box;后,元素的实际大小为:内容区域的宽度为200像素(200 - 210 - 21)
内容区域的高度为100像素(100 - 210 - 21)
整个元素的宽度为240像素(200 + 210 + 21 + 2*20)
整个元素的高度为140像素(100 + 210 + 21 + 2*20)
盒子模型是CSS中非常重要的概念。通过合理地设置元素的width、height、padding、border和margin等属性,我们可以实现各种复杂的布局效果。
我们可以使用width和height属性来设置元素的大小
div {
width: 200px;
height: 100px;
}
我们可以使用padding属性来设置元素的内边距,我们将元素的上下左右内边距都设置为10像素。
div {
padding: 10px;
}
我们可以使用border属性来设置元素的边框,将元素的边框样式设置为实线(solid),粗细设置为1像素,颜色设置为黑色。
div {
border: 1px solid black;
}
我们可以使用margin属性来设置元素的外边距,将元素的上下左右外边距都设置为20像素。
div {
margin: 20px;
}
通过合理地使用盒子模型的各个属性,我们可以实现各种复杂的布局效果。
Box 1
Box 2
Box 3
.container {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
}
.box {
width: 200px;
height: 50px;
border: 1px solid black;
margin: 10px;
}
使用了flex布局,通过设置.container的display、justify-content和align-items属性,将三个box元素垂直居中,并且让它们之间的距离相等。
同时,在.box元素上设置了width、height、border和margin属性,使得每个元素都有一个相同的大小和边框样式。
CSS浮动是指在一个文档流中,将元素从其正常位置移出并向左或右方向漂浮。浮动元素可以使其他内容环绕它,从而实现多列布局、图形环绕文字等效果。在网页设计中,浮动元素被广泛应用于网页布局设计,因为它不仅能够使页面排版更加美观,还能够提高页面加载速度,增强用户体验。
在CSS中,浮动元素有三种状态:左浮动、右浮动和不浮动。
使用浮动可以实现多列布局。我们可以将一个容器分成多个列,每个列中的内容都可以通过浮动来实现。
以下代码片段可以创建一个包含三列的布局:
Column 1 content here
Column 2 content here
Column 3 content here
在这个例子中,我们使用了float: left属性使三个列浮动到左侧。此外,我们还用width属性指定每个列的宽度,并使用margin-right属性来添加间距。为了避免最后一列出现间距,我们还使用.last-column类来指定最后一列的margin-right属性为0。
使用浮动也可以实现图片环绕文字的效果。在这种情况下,我们可以将图片浮动到左侧或右侧,并让文本围绕着它流动。
以下代码片段可以创建一个包含图片和文本的布局:
Here is some text that will flow around the image. Here is some text that will flow around the image. Here is some text that will flow around the image.
在这个例子中,我们使用float: left属性将图片浮动到左侧,并使用margin-right属性来添加间距。然后,我们将文本包装在一个
需要注意的是,为了避免图片漂移到页面的其他部分,我们应该在图片上方或下方添加清除浮动的元素。例如:
使用浮动还可以实现响应式布局。在移动端设备上,我们可以将元素设置为不浮动,以便它们能够占据整行空间。而在桌面端设备上,我们可以将元素设置为浮动,以便它们能够排列在一行中。
Example text 1
Example text 2
Example text 3
我们首先将.box类的宽度设置为100%。此外,我们还使用max-width和height属性来确保图片可以自适应大小。然后,在桌面端设备上,我们使用@media查询来将.box类的宽度设置为30%,并使用浮动使它们排列在一行中。我们还使用margin-right属性来添加间距,并使用.last-box类来指定最后一个盒子的margin-right属性为0。
静态定位是元素默认的定位方式。通过设置“position: static”属性,将元素定位为静态定位。在这种情况下,元素在文档流中的位置由浏览器自动处理和计算。也就是说,元素会按照它们在 HTML 文档中出现的顺序进行布局。因此,当一个元素被定义为静态定位时,top、right、bottom 和 left 属性不能用于调整其位置。
div {
position: static;
}
相对定位允许根据元素当前在文档流中的位置调整其位置。通过设置“position: relative”属性,将元素定位为相对定位。在这种情况下,元素相对于其原始位置调整其位置。
div {
position: relative;
top: 50px;
}
绝对定位将元素从文档流中移除,并相对于其最近的已定位父元素进行定位。如果没有已定位的父元素,则相对于文档主体进行定位。通过设置“position: absolute”属性,将元素定位为绝对定位。在这种情况下,可以使用 top、right、bottom 和 left 属性来调整元素的位置。
div {
position: absolute;
top: 0;
right: 0;
}
伪类是一种用于选择器的关键字,可以在某些特殊情况下为选择的元素添加样式。伪类可以用于选择普通元素的某种状态或属性值,例如鼠标悬停、访问过的链接或目标元素等。
当用户将鼠标悬停在元素上时触发该伪类。通过使用:hover,可以为链接、按钮或其他 HTML 元素添加交互效果。
a:hover {
color: red;
}
当用户点击元素并保持其处于“活动”状态时,触发该伪类。例如,当用户在按钮上单击并按住鼠标按钮时,按钮可能会显示为 “按下” 状态。
button:active {
background-color: gray;
}
当元素获得焦点(例如,用户在元素上单击或使用 Tab 键进行导航)时,触发该伪类。:focus 可以用于调整输入字段、表单元素或其他可接受键盘输入的 HTML 元素的外观和行为。
input:focus {
border: 2px solid blue;
}
当用户访问过链接时,触发该伪类。通过使用 :visited,可以为用户访问过的链接添加样式,从而提高网站的可用性和用户体验。
a:visited {
color: purple;
}
选择一个元素的父元素的第 n 个子元素,并对其应用样式。这个伪类可以很方便地实现隔行变色等效果。
li:nth-child(even) {
background-color: #f2f2f2;
}
选择不符合指定选择器的元素,并对其应用样式。这个伪类可以很方便地排除某些元素,而无需为它们单独定义样式。
p:not(.intro) {
font-weight: bold;
}
a:hover, a:active {
color: red;
}
不同的伪类有不同的兼容性和使用限制。例如,某些伪类(如 :active 和 :focus)只在用户进行交互时生效,而其他伪类(如 :first-child 和 :last-child)则仅适用于特定的 HTML 结构。
伪元素是一种与选择器相关的虚拟元素,允许在文档中插入内容,并将其与常规页面内容分开呈现。它们通常用于向元素添加视觉或语义化的效果,或者为元素的子元素创建特殊样式。
在目标元素之前插入内容。此伪元素通常用于向元素添加装饰性效果或标记。
p::before {
content: ">> ";
}
在目标元素之后插入内容。与 ::before 相同,此伪元素通常用于向元素添加视觉效果或标记。
p::after {
content: " <<";
}
选择第一个字母,并将其应用不同的样式。这个伪元素经常用于美化文章或帖子的开头。
p::first-letter {
font-size: 150%;
color: red;
}
选择第一行,并将其应用不同的样式。这个伪元素可以用于控制文本段落或标题的样式。
p::first-line {
font-weight: bold;
}
p::before {
content: ">> ";
}
::before ::after 只能用于具有 content 属性的元素, ::first-letter ::first-line 只能用于文本类元素。
本周预习内容 暂时到这 有机会继续补充
圆形:boder-radius 50%;
伪类分为静态伪类和动态伪类 其中静态伪类中的:link和:visited智能用于超链接
而动态伪类则对所有标签都适用······
再就是在看学长姐包括同学的博客的时候有学习到很多
比如其实完全可以把一个知识点的大总结直接用表格的形式或者说超链接的形式放上
这样也是便于自己之后的复习
排版上来说 确实表格更加舒适 但是第四周的博客已经写完了55 第五周开始更正