css盒模型相关知识一

1:css盒模型分类

标准盒模型,IE盒模型

2:标准盒模型与IE盒模型的区别

元素框的总宽度=width+(padding-left+padding-right)+(border-left+border-right)+(margin-left+margin-right)

width+padding+border+margin

注意:CSS样式中写的width=200px就是指图中的content的宽度,如何设置padding,border的宽会影响总宽度

元素框的总宽度=width(padding-left+padding-right+border-left+border-right)+margin-left+margin-right;

width+margin

注意:如何css中设置width=200px,这种模型的width包括content + padding +border,设置padding,border的值不会影响总宽度

3:CSS如何设置这两种模型

css通过box-sizing来设置盒模型

box-sizing属性可以为三个值之一:content-box(default),border-box,padding-box。

content-box,width的值就是content的值

padding-box,padding计算入width内  width=content + padding

border-box,border和padding计算入width之内,其实就是怪异模式了

4:JS如何获取盒模型对应的宽和高

1)dom.style.width/height

HTML代码

1 <p id=‘p‘ style=‘width:100px;‘>JS获取元素的宽高</p>

js执行代码

1 var p=document.getElementById(‘p‘).style.width;
2 console.log(p);   // 200px

但是这种方式只能取到内嵌的宽和高,对于通过style写的或者外部链接进来的就无法取到值

CSS代码

1 #p{
2     width:200px;
3     height: 200px;
4     background: red;
5         }

HTML代码

1 <p id=‘p‘>JS获取元素的宽高</p>

JS执行代码

1 console.log(document.getElementById(‘p‘).style.width); //无法取到值

PS:虽然这种方式取不到宽度值。但却可以设置元素的宽度值。比如:设置p元素宽度为200px:

1 document.getElementById("p1").style.width ="200px";

2) window.getComputedStyle(dom).width/height

那么,对于没有设置宽度的元素、亦或CSS样式非内嵌式的,js原生写法可以通过window.getComputedStyle(dom).width/height来获取宽度

接上面一个例子取不到值就可以通过

1 var p=document.getElementById(‘p‘);
2 var width=window.getComputedStyle(p).width;
3 console.log(width);  // 200px

 3)dom.getBoundingClientRect().width/height

1 var p=document.getElementById(‘p‘);
2 var width=p.getBoundingClientRect().width;
3 console.log(width);  // 200
4 // 注意这个方法一般是绝对定位中获取left,top,right,bottom的值

js的 style.width 取不到元素的宽度值

1.元素未设置宽度值。

2.元素设置了宽度值,但,设置在内联或外联样式表中,而非内嵌式的。比如
    
css代码


1

2

3

p{

       background:pink;

   }

html代码


1

<p id="p1">aaaaaaaaaa</p>

PS:虽然这种方式取不到宽度值。但却可以设置元素的宽度值。比如:设置p元素宽度为200px:


1

document.getElementById("p1").style.width ="200px";

综上,所以,只有将元素的样式设置成内嵌式的,才可以通过 document.getElementById("id").style.width 来获取宽度值;
比如:


1

<p id="p1" style="width:144px;">dddddddddd</p>

执行js代码


1

2

var w = document.getElementById("p1").style.width;

alert(w);

执行后输出结果为144px

那么,对于没有设置宽度的元素、亦或CSS样式非内嵌式的,js原生写法可以通过offsetWidht来获取宽度

即:document.getElementById("#p1").offsetWidth;

ps:对于设置了CSS样式的元素(内联、内嵌、外联)offsetWidth 也都可以获得值

所以,jquery的width()与js的offsetWidth都可以获取元素的宽度,但有个区别:

.width()的值单纯是内容区域的宽度、不包括内外补丁和border。ie6+和chrome相同。
offsetWidth :包括了内补丁和border,不包括外补丁。ie6+和chrome相同

原文地址:https://www.cnblogs.com/xubj/p/9964782.html

时间: 2024-08-29 19:43:16

css盒模型相关知识一的相关文章

css 盒模型相关样式

话不多说,一切还是从最基础的说起.  盒的类型  1.盒的基本类型 在css中,用display定义盒的类型,一般分为block类型与inline类型. 例如div属于block类型,span属于inline类型 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style typ

尖刀出鞘的display常用属性及css盒模型深入研究

一:diplay:inline-block 含义:指元素创建了一个行级的块级元素,该元素内部(内容)被格式化成一个块级元素,同时元素本身则被格式化成一个行内元素.更简单的说就是说inline-block后的元素具有block元素可以设置宽高特性,同时又具有inline元素默认不换行的特性. 其实display:inline-block这个属性现在浏览器都支持,其实IE从5.5开始就已经支持了,但是IE6,7支持的还不够完善,我们可以先来做demo测试下就可以明白.为了做demo,所以我们现在需要

html5知识点:CSS盒模型

一. CSS层叠 在前端程序员对CSS编写的过程中,CSS选择器的作用是用来选中某个元素,并对当前的元素进行样式上的渲染,那么每一个选择器都有属于自己的一些解析规则.那我们今天所探讨的CSS层叠就是浏览器对多个样式的来源进行叠加,并最终解析成渲染效果,那这个过程我们就称为CSS层叠. 1) CSS样式的来源 css之所以有"层叠"的概念,是因为有多个样式来源.其实css的样式来源有5个,开发人员只能接触到后面3个. 前三个我们程序员习惯的称为:"内联样式表".&qu

css盒模型与bfc与布局与垂直水平居中与css设计模式等

一.css盒子与布局相关 盒子内部的布局 盒子之间的布局visual formatting 脱离正常流normal flow的盒子的布局 absolute布局上下文下的布局 float布局上下文下的布局 flow下的盒子的布局 BFC布局上下文下的布局 IFC布局上下文下的布局 FFC布局上下文下的布局 table布局上下文下的布局 css grid布局上下文下的布局 1.css盒模型 页面上显示的每个元素(包括内联元素)都可以看作一个盒子,即盒模型( box model ) 盒模型有4部分组成

css盒模型

css盒子模型是为了让我们充分理解div+css模型的定位功能,盒子模型在学习div+css布局方式中必须要学习的一个模型. 那什么是css盒模型呢? 网页设计中常听到的属性名:内容(content).填充(padding).边框(border).边界(margin).css盒模型都具备这些属性.这些属性和日常生活中盒子的属性是一样的.内容就是盒子里面装的东西,而填充就是像盒子里装的一些反震的材料,边框就是箱子的本身,边界呢就像盒子之间的空隙. 盒子的模型有2种,分别是IE盒子模型和标准盒子模型

第16章 CSS盒模型下

第 16章 CSS盒模型[下]学习要点:1.元素可见性2.元素盒类型3.元素的浮动 本章主要探讨 HTML5中 CSS盒模型,学习怎样了解元素的外观配置以及文档的整体布局. 一.元素可见性使用visibility属性可以实现元素的可见性,这种样式一般可以配合 JavaScript来实现效果.样式表如下:属性 visibility 值 说明 CSS版本visible 默认值,元素在页面上可见 2hidden 元素不可见,但会占据空间. 2collapse 元素不可见,隐藏表格的行与列. 2 如果不

CSS 盒模型

CSS盒模型也叫框模型,具备内容(content).内边距(padding).边框(border).外边距(margin)这些属性.在CSS中,每一个元素都被视为一个框,而每个框都有三个属性: border:元素的边框(可能不可见),用于将框的边缘与其他框分开: margin:外边距,表示框的边缘与相邻框之间的距离: padding:内边距,表示框内容和边框之间的空间. 盒模型的结构如下图所示: 由上图可以看出,width和height指的是内容区域的宽度和高度.增加内边距.边框和外边距不会影响

css盒模型和块级、行内元素深入理解

一.CSS盒模型 盒模型概述 盒模型是CSS的核心知识点之一,它指定元素如何显示以及如何相互交互.页面上的每个元素都被看成一个矩形框,这个框由元素的内容.内边距.边框和外边距组成.如下图所示: 内边距出现在内容区域的周围.如果在元素上添加背景,那么背景应用于元素的内容和内边距组成的区域.因此可以用内边距在内容周围创建一个隔离带,使内容不与背景混合在一起.添加边框会在内边距区域外边增加一条线.这些线可以有不同的样式和宽度,如实线.虚线.点画线.在边框外边的是外边距,外边距是透明的,一般使用它控制元

CSS盒模型(Box Model)

阅读目录 1. 什么是CSS盒模型 2. IE盒模型和W3C盒模型 3. CSS3属性box-sizing 4. 关于盒模型的使用 在最初接触CSS的时候,对于CSS盒模型的不了解,撞了很多次的南墙呀.盒模型是网页布局的基础,它制定了元素如何在页面中显示,如果足够地掌握,那使用CSS布局那将会容易得多. 1. 什么是CSS盒模型 盒模型,顾名思义,就是一个盒子.生活中的盒子,有长宽高,盒子本身也有厚度,可以用来装东西.页面上的盒模型我们可以理解为,从盒子顶部俯视所得的一个平面图,盒子里装的东西,