margin

margin外边距合并问题以及解决方式

拥有回忆 提交于 2020-03-20 06:12:27
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> .div{ /* overflow: hidden;*//*利用该属性或者通过给父级元素设置border可以避免出现父级元素的margin合并的情况,当没有设置这两个属性之一时,该div的margin-top值会取div1的margin-top和其自身margin-top的最大值*/ /* border:1px solid red;*/ margin:0 auto; margin-top:10px; width:300px; background: #aaa; } .div1{ width:200px; height:200px; background: red; margin:20px 0px; } .div2{ width:200px; background: green; margin: 10px 0px; height:200px; } </style> </head> <body> <div class="div"> <div class="div1"></div> <div class="div2"></div> </div> </body> </html>

CSS常见兼容问题以及解决办法

房东的猫 提交于 2020-03-20 05:04:38
浏览器的兼容性问题,通常是因为不同的浏览器对同一段代码有不同的解析,造成页面显示不统一的情况。 这里谈到的浏览器,主要指IE6/IE7/IE... FireFox Chrome Opera Safari 等。 但更多的兼容还是考虑IE6/IE7/FF之间的斗争 先来谈谈CSS Hack   我们为了让页面形成统一的效果,要针对不同的浏览器或不同版本写出对应可解析的CSS样式,所以我们就把这个针对不同浏览器/版本而写CSS的过程叫做 CSS hack.   CSS hack主要有三种:IE条件注释法、CSS属性前缀法、选择器前缀法。    (1)IE条件注释法,即在正常代码之外添加判别IE浏览器或对应版本的条件注释,符合条件的浏览器或者版本号才回执行里边的代码。 <!-- lt是小于 gt是大于 lte是小于等于 gte是不小于 !是不等于 --> <!-- [if IE]> 你想要执行的代码 <![endif]--> <!-- [if lt IE 8]> 你想要执行的代码 <![endif]--> <!-- [if ! IE 8]> 你想要执行的代码 <![endif]-->    (2)CSS属性前缀法,即是给css的属性添加前缀。比如 * 可以被IE6/IE7识别,但 _ 只能被IE6识别,IE6-IE10都可以识别 "\9",IE6不能识别!important

网页布局基础

99封情书 提交于 2020-03-19 18:26:44
网页布局基础 简介 什么是网页布局? 网页布局是网页制作的基础,使用DIV+CSS布局网页是基础中的基础。三种基本布局方式: 流式布局,浮动布局,绝对定位布局 。 网页设计的特点:1:网页宽度可变 2头+内容主体(根据需要分栏)+页脚(不重要的内容) 对长度设置百分比可实现网页自适应 W3C标准包括结构化标准语言,表现标准语言,行为标准语言, 倡导结构,样式,行为分离。 CSS中,存在三种定位机制:标准文档流,浮动,绝对定位。 标准文档流 :从上到下,从左到右输出文档内容,由块级元素和行级元素组成。 浮动 :float属性left(左浮动) right(右浮动) none(不浮动) 元素会左移或右移,直至碰到容器为止。 关于浮动的详细介绍参考我转载的《CSS浮动-float/clear》 绝对定位 : position属性 拥有三种定位方式 1.静态定位(static) 2.相对定位(relative) 3.绝对定位(absolute fixed(固定定位)) 参考我前面的《CSS基础》有详细解释。 相对定位的特点: 1.相对自身原有位置进行偏移 2. 仍处于标准文档流中,会占据原来的空间位置 3.拥有偏移属性和z-index属性,即空间层叠现象。 绝对定位特点: 1.建立以包含块为基准的定位 2. 完全脱离了标准文档流 3.随即拥有偏移属性和z-index属性 未设置偏移量时

jquery tmpl 详解

蹲街弑〆低调 提交于 2020-03-19 17:22:41
动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等。 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不 在浏 览器端拼数据就在服务器端拼数据。不过,从传输量方面来看,返回 HTML 不划算,而在 web 传输方面,现在更多的是使用 JSON 而不是 XML。 浏览器端根据 JSON 生成 HTML 有个很苦恼的地方就是,结构不复杂的时候还好,结构一复杂,就想死了,需要很小心很小心地写出几乎无法维护的 JavaScript 代码。 因此一些用模版生成HTML的的框架相继出现jquery.tmpl 就是其中的一种,下面我们来详细介绍下jquery.tmpl的用法 jquery.tmpl的几种常用标签分别有: ${} , {{each}} , {{if}} , {{else}} , {{html}} 不常用标签 {{=}} , {{tmpl}} and {{wrap}} . ${} 等同与 {{=}} 是输出变量 ${} 里面还可以放表达式 ( =和变量之间一定要有空格,否则无效 ) 示例: <div id="div_demo"> </div> <script id="demo" type="text/x-jquery-tmpl"> <div style="margin-bottom:10px

关于BFC的一些事

ぐ巨炮叔叔 提交于 2020-03-19 13:41:13
BFC的生成 在实现CSS的布局时,假设我们不知道BFC的话,很多地方我们生成了BFC但是不知道.在布局中,一个元素是block元素还是inline元素是必须要知道的.而BFC就是用来格式化块状元素盒子,同样还有管理内连盒子的IFC等.那首先就来了解一下什么是FC. FC: Formatting Context指的是页面中的一个渲染区域,并且拥有自己的渲染规则.决定子元素如何定位,以及和其他元素的相互作用和联系. BFC: 块级格式化上下文, 是一个独立的块级渲染区域,只针对块级元素,有一套自己的渲染规则来约束块级盒子,与外部无关. 既然BFC是一块独立的渲染区域,那么这块区域在哪里,有多大, 这就有生成BDC的元素决定,CSS2.1中规定, 满足以下CSS声明的元素就会生成BFC. 根元素 float不为none overflow不为hidden display: inline-block, table-cell, table-caption (注意: 值为table会生成BFC是因为会默认生成一个匿名的table-cell,所以不是table生成了BFC) position: absolute, fixed BFC的约束 浏览器对BFC约束如下: 1. 生成BFC的子元素会一个接一个的放置,在垂直方向上的起点是包含块的顶部,相邻的子元素之间的垂直距离由margin控制

第 2 章 前端基础之CSS

风格不统一 提交于 2020-03-19 08:50:31
一、CSS语法 CSS规则由两个主要的部分构成:选择器,以及一条或多条声明。 1 ''' 2 selector { 3 property: value; 4 property: value; 5 ... property: value 6 } 7 ''' 例如: 1 h1 {color:red; font-size:14px;} 二、CSS的四种引入方式 1、行内式 行内式是在标记的style属性中设定CSS样式,这种方式没有体现CSS的优势,不推荐使用。 1 < p style ="background-color: rebeccapurple" > hello yuan </ p > 2、嵌入式 嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。格式如下: <head> <meta charset="UTF-8"> <title>Title</title> <style> p{ background-color: #2b99ff; } </style> </head> 3、链接式 将一个.css文件引入到HTML文件中。 < link href ="mystyle.css" rel ="stylesheet" type ="text/css" /> 4、 导入式 将一个独立的.css文件引入HTML文件中

css 常见布局实现

三世轮回 提交于 2020-03-18 01:44:39
水平居中 垂直居中 1.图片水平垂直居中 图片背景大小确定    margin-left值等于图片所在容器的宽度(imbBoxWidth)减去图片本身宽度(imgWidth)的值的一半      margin-top值和margin-left很类似,只是把相对应的宽度值换成高度值 图片大小不固定    1. 对于容器 display:table-cell vertical-align:middle text-align:center ie6.7不支持     display:table-cell 属性指让标签元素以表格单元格的形式呈现,类似于 td 标签    2. 添加一个与容器高度相同的标签span,兼容ie6,7      在图片的容器中创建一个空元素(比如说span),设置span的“display:inline-block;height:100%;vertical-align:middle”。     IE6-7中空的line-block元素宽度为“0”,在IE6-7下是没有效果的,给span加上“width:1px”,会给水平居中造成1px的误差。    圣杯布局和双飞翼布局   都是三栏布局,两边盒子宽度固定,中间宽度自适应。中间栏放到文档流前面,保证先行渲染。   都是三栏全部float:left浮动。   区别对于中间栏div的内容不被遮挡上

移动端性能优化(CSS性能优化)

假如想象 提交于 2020-03-17 17:19:54
CSS性能优化 CSS选择器优化 如果可以直接选中元素,不需要加一些多余的修饰 /*不要使用类选择器和ID选择器修饰元素标签,这样多此一举,还会降低效率。*/ div#slider.slider { } 一般来说,class用于样式,id用于js,因为id定义的样式不利于复用 保证不会误选的情况下,尽量保持简单 避免冲突可以在命名时区分好 /*保持简单,不要使用嵌套过多过于复杂的选择器*/ /*浏览器从右向左解析CSS*/ /*.slider .slider-item-container .slider-item .slider-link .slider-img { width: 100%; }*/ .alex-slider-img { /*嵌套少*/ /*权重低 便于使用的时候覆盖*/ width: 100%; } 尽量少用通配符选择器,可以单独写出来,罗列出来 /*避免通配选择器*/ * { } ul, li, dl, dt, dd, p { padding: 0; margin: 0; } 不必要的样式和没有用到的样式直接删除即可 /*移除无匹配的样式*/ .slider { /*width: 100%;*/ } 高级选择器少用(类似正则的),还有属性选择器,性能并不高 但是必须的情况下可少量使用 /*避免类正则的属性选择器*/ [class*="slider

CSS overflow隐藏元素

这一生的挚爱 提交于 2020-03-17 07:31:28
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>用overflow来hidden隐藏多余margin或元素</title> <style type="text/css"> .pic_list_con{ width: 958px; border: 1px solid #666; margin: 50px auto 0; } .pic_list_title{ width: 918px; height: 50px; /*background: gold;*/ margin: 0 auto; /*此处设置了之后图片应该在父集边框紧贴边缘,不过出现问题,没有能够紧贴. 这个时候首先要查找问题在哪个元素. 主要看自己子元素内是否有自带式样的元素. 此处经过排查, 发现是h3自带式样,引起了top塌陷,所以导致title的div无法紧贴上方父元素. 所以第一时间应该更改h3的默认margin! */ } .pic_list_title h3{ margin:0; /*设置margin之后,父元素也能够紧贴上级元素了!*/ font: 18px/50px "Microsoft Yahei"; border-bottom: 2px solid red ; /*此处设置了下border之后

div实际占得区域像素

匆匆过客 提交于 2020-03-17 05:47:06
水平方向:margin-left + border-left +pading-left + width + pading-right + border-right+margin-right 垂直方向:margin-top + border-top + pading-top+ height + pading-bottom + border-bottom + margin-bottom 来源: CSDN 作者: dxm809 链接: https://blog.csdn.net/dxm809/article/details/104855867