网页的外观---CSS层叠样式表---03

简介: 网页的外观---CSS层叠样式表---03

十.盒子模型


CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。所有HTML元素可以看作盒子,盒子模型允许我们在其它元素和周围元素边框之间的空间放置元素。一个元素实际的宽由content内容宽高+padding内边距+border边框+margin外边距组成。


下面的图片说明了盒子模型(Box Model):

20210120173937512.gif


1.content:width设内容宽,height设内容高。


2.border:设边框,下面介绍设边框的几种方法:

一般设法:border: 10px dotted red;即尺寸,线条,线条。

线条 解释
dotted 点状线
dashed 虚线
solid 实线


单独设:border-bottom:10px solid yellow;

边框线 解释
border-top 上边框线
border-bottom 下边框线
border-left 左边框线
border-right 右边框线


拆分设:

image.png


3.padding:即内边距

边框到content内容的距离

设置方法:


第一种:

边框线 解释
padding-top 上边距
padding-right 右边距
bpadding-left 左边距
padding-bottom 右边距


第二种:

padding:50px;

四周内边距为50px

第三种:

padding:50px 100px;

上下内边距为50px 左右内边距为100px

第四种:

padding:10px 20px 30px 40px;

上边距为10px右边距为20px下边距为30px左边距为40px


4.margin:即外边距

设置方法:


第一种:

边框线 解释
margin-top 上外边距
margin-right 右外边距
margin-left 左外边距
margin-bottom 右外边距



第二种:

margin:100px;

上下左右外间距都是100px


第三种:

margin:50px 100px;

上下外边距为50px,左右外边距为100px;


第三种:

margin:50px 100px 150px;

上外边距为50px, 左右外边距100px,为下外边距150px


第四种:

margin:50px 100px 150px 200px;

上外边距为50px,右外边距为100px,下外边距为150px,左外边距为200px


   注意事项:

   垂直方向的margin会重叠取最大值

   行内元素只有margin左右,没有margin上下

   width与height对行内元素不启用



十一.背景


属性名 解释
background-color 背景颜色
background-image 背景图片
background-repeat 背景重复
background-position 背景位置



1.background-color

<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      div{
        width: 100px;height: 100px;
        background-color: gold;
      }
    </style>
  </head>
  <body>
  <div>
  </div>
  </body>
</html>

20210121203034174.png


2.background-image

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      div{
        width: 100px;height: 100px;
        background-image: url(images/icon-r.png);
      }
    </style>
  </head>
  <body>
  <div>
    你好
  </div>
  </body>
</html>

20210121203353650.png


注意:

这里没有设置图片重复,该图片在100*100容器的x轴和y轴一直重复


3.background-repeat

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      .div1 {
        width: 100px;
        height: 100px;
        background-image: url(images/icon-r.png);
        background-repeat: no-repeat;
      }
      .div2 {
        width: 100px;
        height: 100px;
        background-image: url(images/icon-r.png);
        background-repeat: repeat-x;
      }
      .div3 {
        width: 100px;
        height: 100px;
        background-image: url(images/icon-r.png);
        background-repeat: repeat-y;
      }
    </style>
  </head>
  <body>
    <div class="div1">
      div1
    </div>
    <div class="div2">
      div2
    </div>
    <div class="div3">
      div3
    </div>
  </body>
</html>


2021012120364923.png


   注意:

   这里第一个div设置的是norepeat,即背景图片只在100100的容器内只重复一次

   第二个div设置的是repeat-x,即背景在x轴上重复

   第二个div设置的是repeat-y,即背景在y轴上重复

   默认不设置即为在100100容器的x轴和y轴一直重复



4.background-position

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      .div1 {
        width: 100px;
        height: 100px;
        background-image: url(images/icon-r.png);
        background-repeat: no-repeat;
        background-position: left;
        background-color: #3B639F;
      }
      .div2 {
        width: 100px;
        height: 100px;
        background-image: url(images/icon-r.png);
        background-repeat: no-repeat;
        background-position: right top;
        background-color: #55ffff;
      }
      .div3 {
        width: 100px;
        height: 100px;
        background-image: url(images/icon-r.png);
        background-repeat: no-repeat;
        background-position: center center; 
        background-color: #00ff7f;
      }
      .div4 {
        width: 100px;
        height: 100px;
        background-image: url(images/icon-r.png);
        background-repeat: no-repeat;
        background-color: #ffff7f;
        background-position: 10px 70px; 
      }
    </style>
  </head>
  <body>
    <div class="div1">
      div1
    </div>
    <div class="div2">
      div2
    </div>
    <div class="div3">
      div3
    </div>
    <div class="div4">
      div4
    </div>
  </body>
</html>

20210121204457781.png


   注意:

   第一个div的背景图片设置的水平方向上靠左,垂直方向上默认居中

   第二个div的背景图片设置的水平方向上靠右,垂直方向上考上

   第三个div的背景图片设置的水平方向上居中,垂直方向上居中

   第四个div的背景图片设置的水平方向上距左边10px,垂直方向上距上边70px



5.背景简写:

background: gold url() no-repeat center center

     颜色 地址 重复 水平对齐 垂直对齐



十二.三种元素与浮动


首先说明html中任意一个元素都属于行内元素,块元素,或行内块中的一种,而在css中可以通过display改变元素的属性。下面介绍三种元素:


   1.行内元素:

   常见的有:span a em i b em big small strong sub sup textarea u select label

   默认属性:display:inline;

   规则:只能设置margin左右,不能设置宽高和margin上下的水平排列


   2.块元素:

   常见的有:p h1~h6 div dl dd dt form hr ol ul li table

   默认属性:display:block;

   规则:可以设置宽高和margin的垂直排列


   3.行内块元素:

   常见的有:img input

   默认属性:display:inline-block;

   规则:可以设置宽高和margin的水平排列


下面说浮动:


1.设置方法:float:left;或者float:right;


2.设置浮动后产生的结果:

   会使该元素脱离文档流

   父元素和兄弟元素都会认为该元素不存储兄弟元素会占据其位置,文本会留处其位置

   多个float元素默认会水平排列,父元素宽度如果容不下,则会换行

   如果子元素都浮动了,那么父元素的高度也就没有了

   行内元素设置浮动后会变成块元素(原因是行内元素被设置浮动后脱离文档流)


清除浮动的方法:


1.给父元素手动的设置一个高度

2.给父元素设一个overflow:hidden

3.把父元素的最后一个元素设置不浮动再加上clear:both;


关于浮动,会经常遇到,这里会单独出一个关于浮动的详细解决方案。


未完待续…

相关文章
|
前端开发 UED 开发者
CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度
本文探讨了CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度;图标字体则以字体形式呈现图标,便于调整样式。文章分析了两者的优缺点及应用场景,并提供了应用技巧和注意事项,旨在帮助开发者提升页面性能,改善用户体验。
183 5
|
前端开发
简单几行代码CSS实现网页自动打文字效果
简单几行代码CSS实现网页自动打文字效果
224 1
简单几行代码CSS实现网页自动打文字效果
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
841 1
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
前端开发 JavaScript 容器
深入CSS,让网页开发少点“坑”
 通常我们在学习CSS的时候,感觉语法很容易掌握,实际应用中却碰到各式各样难以填补的“坑”,为避免大家受到同样的困惑与不解,本文详细讲解了CSS中优先级和Stacking Context等高级特性。
1304 0
|
8月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
8月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
8月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    363
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    284
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    251
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    173
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    372
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    527
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    433
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    174
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    396
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    324