整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

WEB前端-CSS盒子

.盒子模型主要定义四个区域:内容(content)、内边距(padding)、边框(border)、外边距(margin)

2.border,设置元素的边框,属性(边框三要素):宽度、样式、颜色,这也是通常border属性值的书写顺序(非严格要求)

单独书写:border-width(宽度,默认3px)、border-style(样式,默认none)、border-color(颜色,默认黑色)

border-style属性值:dotted(点状)、solid(实线)、double(双实线)、dashed(虚线)、无边框(none)

3.padding,设置元素内容与边框之间的距离,增加内边距会扩大元素边框所占用的区域

书写格式:padding:value(四边设置,可多值)、padding-top/right/bottom/left:value(单边设置),value取值可以为像素、百分比,但不能为负数

4.margin,设置元素边框外周围的空白区域,外边距是透明的

书写格式:margin:value(四边设置、可多值)、margin-top/right/bottom/left:value(单边设置),value取值可以为像素、百分比、auto、负数

外边距合并,当两个垂直外边距相遇时,他们将形成一个外边距,即外边距合并

合并后的外边距的高度等于发生合并的两个外边距中高度较大者

两个块级元素是包含关系时,要设置被包含元素的相对边距,需要增加父元素border(边框)或使用“ overflow:hidden”或“ padding”

外边距特点:① 块级元素的垂直相邻外边距外边距会合并,② 行内元素不占上下外边距,且左右外边距不会合并,③ 浮动元素的外边距也不会合并,④ 允许指定负数外边距值

5.怪异盒子,盒子模型分为两种,一种是符合W3C规范的标准盒子模型,另一种是IE的盒子模型,也被叫做怪异盒子

IE盒子模型也包括margin、border、padding、content,不过IE盒子模型的宽(width)包含了border和padding

6.box-sizing,该属性用于指定当前元素使用哪种盒子模型,标准(W3C)或 怪异(IE)

属性值:

content-box(标准),padding和border不会被包含在width和height内

border-box(怪异),padding和border被包含在width和height内,即元素实际大小只与width和height有关

7.flexbox,伸缩盒子模型(也叫弹性盒子)

它决定一个盒子在其他盒子中的分布,以及如何处理可用的空间。

该模型可以轻松的创建“自适应”浏览器窗口的流动布局。

传统盒子模型基于HTML文档流排列,弹性盒子模型可以规定特定的顺序。

通过设置 display属性值为 flex开启弹性盒子模型。

设置了弹性盒子模型后,float、clear、vertical-align在 flex中不起作用。

8.flex

基本结构:


display:flex,定义外层父容器 d0为弹性布局,默认为水平布局

flex-grow:value,该属性表示当前子项目在父容器中的占比,默认值为0

flex-direction,定义灵活项目的布局方向,属性值:row(默认值,灵活项目水平排列)、row-reverse(灵活项目以相反的顺序水平排列)

column(灵活项目垂直排列)、column-reverse(灵活项目以相反的顺序垂直排列)

justify-content,设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式,使用该属性之前必须先声明父元素为弹性盒子

属性值:flex-start(默认值,子项目位于容器的开头)、flex-end(子项目位于容器的结尾)、center(子项目位于容器的中心)、

space-between(子项目位于各行之间留有空白的容器内)、space-around(子项目位于各行之前、之间、之后都留有空白的容器内)

align-items,该属性定义灵活子项目在flex父容器的侧轴(纵轴)方向上的对齐方式

属性值:stretch(默认值,拉伸子项目以适应容器)、center(子项目在容器中心)、flex-start(子项目在容器开头)、flex-end(子项目在容器末端)、baseline(子项目在容器基线)

如果你现在也想学习前端开发技术,在学习前端的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,你都可以申请加入我的Q群:前114中6649后671,可以免费获取你所需要的学习资料,只要我有,那么都是大家的。其中还有许多大厂的面试题,希望能够对你们有所帮助。

耀盒子Pro 操作指导

荣耀盒子Pro 是华为荣耀推出的一款高端智能语音4K网络机顶盒。采用2G内存和8G闪存,看视频、开应用更畅快。接入国广东方播控平台,集成CIBN环球影视、银河·奇异果、云视听极光、芒果TV等多家内容,你想看的可能都在这里。支持智能语音功能,按住语音键说出想看的影片,精彩内容即刻呈现。支持跨屏续播,一个华为账号,轻松实现荣耀盒子Pro、荣耀手机、平板等设备的个人在线观影记录跨屏同步。采用沉浸式UI设计,让您能够置身其中,带来影院级品质享受。

详情戳视频↓↓↓

http://v.qq.com/x/page/b0320eppjdw.html

荣耀盒子voice操作指导

荣耀盒子voice是华为荣耀推出的一款智能语音4K网络机顶盒。采用内置电源设计,即插即用。支持语音控制,通过语音快速找到想看的节目、控制播放进度、打开感兴趣的应用,全家人都会用。采用华为海思专业机顶盒芯片,支持 H.265 硬解码,节省多达50%带宽需求;集成Imprex™ 画质增强引擎,图像显示更清晰真实。采用2*2互补式双天线,双发双收,全方位无死角接收。接入央广银河集成播控平台,汇聚超200万小时高清正版影视资源库,每日更新超1000个节目。支持蓝牙4.0,可连接手柄、耳机和音箱等多种类型蓝牙设备。

详情戳视频↓↓↓

http://v.qq.com/x/page/w0181ug27t7.html

荣耀盒子产品视频

荣耀盒子是华为荣耀推出的一款4K网络机顶盒。采用华为海思专业机顶盒芯片,支持 H.265 硬件解码,节省多达50%带宽需求;集成Imprex™ 画质增强引擎,图像显示更清晰真实。采用2*2互补式双天线,双发双收,全方位无死角接收,拥有更畅快的观影体验。接入央广银河集成播控平台,汇聚超200万小时高清正版影视资源库,每日更新超1000个节目。荣耀盒子将每一寸空间都用到极致,容纳了网口、HDMI、USB、 AV接口、SD卡槽,非常齐全。

<script src="https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>

【转自荣耀盒子公众号】

)CSS 标准盒子模型(Box Model)

在网页中所有HTML元素可以看作盒子,在CSS中,"box model"术语是用来设计和布局时使用的;CSS盒模型本质上是一个盒子,封装周围的HTML元素包括:外边距(margin)边框(border)内边距(padding)实际内容(content)四个属性,所以布局时每个元素所占的总宽高是这4个属性的总和;比如宽度:总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距

1.1Margin(外边距)清除边框外的区域,外边距是透明的

1.2Border(边框)围绕在内边距和内容外的边框

1.3Padding(内边距)清除内容周围的区域,内边距是透明的

1.4Content(内容)盒子里填充的内容比如文本,图像等

标准盒子模型

宽度为100px的div

根据盒子模型得出该元素的总宽度为:100+(20+20)+(15+15)+(15+15)(由里至外)因此如果想在此div中放置一个宽度为100px的元素,此元素的总宽度必须小于等于100px

2)DIV+CSS布局

Div+CSS布局就是将网页内容用<div>分割为块,之后使用css设置每个块的大小,位置等

DIV+CSS布局最重要的是灵活运用float(浮动)属性,其值:1)left 2)right 3)both

clear属性作用是清除浮动,其值为:1)left 2)right 3)both

d2向右浮动 float:right

因为div是块级元素,如果都没有脱离文档流div就会按照从上到下的顺序放置

d2设置为右浮动其他两个div位置的变化:

1)d1没有脱离文档流会占据一行,所以d2只能浮动到d1下面的右面如上图所示

2)d2脱离文档流,d3自动填充到d2的位置

d1,d2全部设置为右浮动

1)当d1,d2都设置为右浮动时:因为css中d1在d2上面先设置,因此d1在右侧,如果d2在d1上面先设置样式,则d2在右侧,d1在左侧,自己测试不再截图

2)当d1,d2都设置为右浮动时:d3就会跑到上图中d2的位置

3)如果3个div都设置左或右浮动,当3个width加一起<=100%就会在第一行显示(d1,d2,d3)

 <style type="text/css">
      #d1 {
      margin: 0px;
      background-color: red;
      padding: 0px;
      width: 50%;
      height: 100px;
      float:right; 
    }
    #d2 {
      margin: 0px;
      background-color: yellow;
      padding: 0px;
      width: 50%;
      height: 100px;
      float:right; 
    }
    #d3 {
      margin: 0px;
      background-color: green;
      padding: 0px;
      width: 50%;
      height: 100px;
    }
  </style>

d2清除左浮动,d3设置为右浮动

当d2清除了左浮动,d3设置为右浮动,就会如上图所示;如果d2清除的是右浮动,d2就会在d1上面,d3就会定位在d1下面的右面,自己测试不再截图

当d2清除了左浮动,如果想要d2紧挨着d1(与d1在一行上),可以通过position脱离文档流设置其上下左右属性使其定位在d1右侧,自己测试

<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>div+CSS布局</title>
  <style type="text/css">
      #d1 {
      margin: 0px;
      background-color: red;
      padding: 0px;
      width: 30%;
      height: 100px;
      float:left; 
    }
    #d2 {
      margin: 0px;
      background-color: yellow;
      padding: 0px;
      width: 40%;
      height: 100px;
      clear: left;     
    }
    #d3 {
      margin: 0px;
      background-color: green;
      padding: 0px;
      width: 30%;
      height: 100px; 
      float: right; 
    }
  </style>
</head>
<body>
    <div id="d1"><span style="font-size: 50px;">d1</span></div>
    <div id="d2"><span style="font-size: 50px;">d2</span></div>
    <div id="d3"><span style="font-size: 50px;">d3</span></div>
  </body>
</html>

DIV+CSS布局综合运用position+上下左右属性与float属性为网页进行布局

注意:浏览器的兼容性问题,特别是使用IE内核的浏览器对W3C的规范不怎么遵守