css关于margin跟padding的问题

问题描述

<!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><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><style>.a{padding:100px;position:relative;background:#630;}p{background:url(bg_cover.gif) repeat-x;}div.b{position:relative;background:#6CC;height:70px;/*还是那个问题,当b离开准备流的时候如果不设置height,div是没有内容显示的所以设置了height才可以呢*/}.b p{position:absolute;top:0px;left:0px;background:#C03;} </style><body><div class="a"><p>123</p></div><div class="b"><p>456</p></div></body></html>不过不知道为什么class为b的div 已经设置了position:relitive;为什么p{position:absolute;top:0px;left:0px;}定义了之后<P>没有显示在左上角呢。运行结果如图: 问题补充:asyty 写道

解决方案

我之前用chrome浏览器看了下代码,发现p标签默认有个margin-top高度的,和父标签有1em的高度距离,给p加上margin-top:0px;试试<!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><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><style>.a{padding-top:100px;position:relative;background:#630;}p{ background:url(bg_cover.gif) repeat-x; } div.b{position:relative; background:#6CC;height:70px;}.b p{position:absolute;top:0px;left:0px;background:#C03;margin-top:0px; /* 加上这句*/}</style><body><div class="a"><p>123</p></div><div class="b"><p>456</p></div></body></html>
解决方案二:
<!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><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><style>.a{padding-top:100px;position:relative;background:#630;}p{ background:url(bg_cover.gif) repeat-x; } div.b{position:absolute;top:0px;left:0px;background:#6CC;height:70px;}.b p{background:#C03;}</style><body><div class="a"><p>123</p></div><div class="b"><p>456</p></div></body></html>
解决方案三:
敢不敢把div.b{ position:relative; 改成position:absolute;

时间: 2024-12-03 23:30:55

css关于margin跟padding的问题的相关文章

详细学习CSS的Margin和Padding属性

css margin和padding用来隔开元素,margin是隔开元素与外边,padding是隔开元素里边. 例子h2: h2 {    font-size: 1.5em;    background-color: #ccc;    margin: 1em;    padding: 3em;} 元素四边可以设置的属性:margin-top, margin-right, margin-bottom, margin-left, padding-top, padding-right, padding

CSS中margin和padding的两者对比与用法

  CSS边距属性定义元素周围的空间.通过使用单独的属性,可以对上.右.下.左的外边距进行设置.也可以使用简写的外边距属性同时改变所有的外边距.--W3School 边界(margin):元素周围生成额外的空白区."空白区"通常是指其他元素不能出现且父元素背景可见的区域.--CSS权威指南 padding称呼为内边距,其判断的依据即边框离内容正文的距离,而我喜欢CSS权威指南解释的"补白"(或者叫"留白"),因为他很形象.补白(padding):

css中margin和padding用法区别介绍

用margin还是用padding这个问题是每个学习CSS进阶时的必经之路. CSS边距属性定义元素周围的空间,通过使用单独的属性,可以对上.右.下.左的外边距进行设置,也可以使用简写的外边距属性同时改变所有的外边距. 边界(margin):元素周围生成额外的空白区,"空白区"通常是指其他元素不能出现且父元素背景可见的区域. padding称呼为内边距,其判断的依据即边框离内容正文的距离,而我喜欢CSS权威指南解释的"补白"(或者叫"留白"),因

css下margin、padding、border、background和font缩写示例_经验交流

下面用一些比较常用的属性来做示例.  margin  margin-top:1px;  margin-right:1px;  margin-bottom:1px;  margin-left:1px;  代码简化为:margin:1px  margin-top:1px;  margin-right:2px;  margin-bottom:1px;  margin-left:2px;  代码简化为:margin:1px 2px  margin-top:1px;  margin-right:2px; 

CSS教程:margin,padding,border

文章简介:CSS中margin,padding,border-style有几种书写规范. 在我们使用CSS时,经常看到margin:0 0,margin:0 5px,padding:0 5px 10px;而它们研究是什么含义呢,在WEB标准中,它们会有以下含义,它适合于CSS中的margin,padding,border-style等属性 第一种情况,四个值都有,它们的含义如下属性:上 右 下 左 第二种情况,只有三个值,它们的含义如下属性:上 右左 下 第三种情况,只有两个值,它们的含义如下属

CSS中Class与ID的区别,Margin与Padding的区别

核心提示:Class可以反复使用而ID在一个页面中仅能被使用一次.有可能在很大部分浏览器中反复使用同一个ID不会出现问题,但在标准上这绝对是错误的使用,而且很可能导致某些浏览器的现实问题. Class可以反复使用而ID在一个页面中仅能被使用一次.有可能在很大部分浏览器中反复使用同一个ID不会出现问题,但在标准上这绝对是错误的使用,而且很可能导致某些浏览器的现实问题. 这两个区别都是比较容易混淆的问题,尤其是Class与ID,相信很多人并没有仔细了解过之中区别.以下是我的一些理解: 1. Clas

Class与ID区别 margin和padding区别 CSS学习笔记_经验交流

由于现在百分之99.99%的CMS都是用div+css来构建网页模板的,被逼无奈,一大把年纪了还要学习CSS,说实话没觉得用div来布局比table好在什么地方!但迫于行势,先硬着头皮看吧,能学多少是多少.根据数据与结构分离的原则,CSS最好要独立于网页文件,用 复制代码 代码如下: <link rel="stylesheet" type="text/css" href="../xxx/web.css" />  语句将CSS文件调入网

CSS教程&amp;nbsp;5、Margin和Padding&amp;nbsp;[翻译Htmldog]

margin和padding用来隔开元素,margin是隔开元素与外边,padding是隔开元素里边. 例子h2:  代码如下 复制代码 h2 {     font-size: 1.5em;     background-color: #ccc;     margin: 1em;     padding: 3em; } 元素四边可以设置的属性:margin-top, margin-right, margin-bottom, margin-left, padding-top, padding-ri

五 Margin和Padding

margin和padding用来隔开元素,margin是隔开元素与外边,padding是隔开元素里边. 例子,h2: h2 {font-size: 1.5em;background-color: #ccc;margin: 1em;padding: 3em;} 元素四边可以设置的属性:margin-top, margin-right, margin-bottom, margin-left, padding-top, padding-right, padding-bottom and padding