解决子元素margin让父辈元素位置一起改变的问题

1、在父元素内添加内容,并且要在子元素块前面添加,后面添加内容无效。

内容可以是文字、图片甚至是空格,源代码里直接按空格无效,可以用占位符 

2、让子元素或父元素浮动float:left。

缺点:在元素不能用浮动的情况

3、让父元素顶部增加一条边框,可以设边框为透明:border-top:1px solid transparent。

缺点:虽然是透明但还是多了1px的占位,一般精确度要求不高,1px基本可以忽略了。

4、让子元素或父元素绝对定位:position:absolute。

缺点:在元素不能用绝对定位的情况

5、让父元素overflow:hidden。

缺点:元素不能用overflow:hidden的情况。

总结,相对完美的是添加占位符 和overflow:hidden了。

原文链接:http://www.w3cfuns.com/blog-5456068-5403195.html

时间: 2024-12-22 02:59:11

解决子元素margin让父辈元素位置一起改变的问题的相关文章

JS子元素oumouseover触发父元素onmouseout

JavaScript中,父元素包含子元素: 当父级设置onmouseover及onmouseout时,鼠标从父级移入子级,则触发父级的onmouseout后又触发onmouseover:从子级移入父级后再次触发父级的oumouseout后又触发onmouseover.而如果onmouseover内又应用了计时器便会存在较大的问题.下面针对此问题给出解决方案. 首先,在给出解决方案之前,必须先弄清楚几个对象及方法,分别如下: 1.事件对象 2.事件对象相关属性(只针对onmouseover及onm

javascript阻止子元素冒泡触发父元素的mouseover、mouseout

本文并没有像标题说的那样,真正阻止事件元素的子元素冒泡... 只是在子元素冒泡到事件元素处时进行了一个判断,判断是否要触发事件,哦...不对 应该是是否要运行事件函数中的相关操作... 首先你可以猛戳这里: 问题的出现 注:jquery中的mouseover/out事件也有此问题 解决方法一: 在ie下有mouseenter 与 mouseleave事件来替代mouseover 和 mouseout. 网上很多说法,这两个事件只有ie支持,其他浏览器不支持. 但是我在最新版本的火狐与谷歌都支持了

块级元素及内联元素对margin、padding的态度

1.块级元素 margin:跟标准一样,设置该块级元素边框与同级兄弟元素或者父元素的距离,俗称外边距. padding:先延伸边框(也就是优先改变元素尺寸而不动元素中内容的位置),当边框碰到父元素或兄弟元素的边界时,才向相反方向延伸,这时会改变该元素中内容的位置 padding演示: 原样 html: <div>块级元素</div> css: div{ width:100px; border:1px solid #000; } 添加padding后: div{ width:100p

子div用了float浮动之后,如何撑开父元素,让父元素div自动适应高度的问题

方法一: html: <div id="all1"> <div id="left1">1</div> <div id="left2">1</div> <div style=" clear:both; "></div> </div> css: #left1{ float:left;width:200px;} #left2{ float

查找元素在list中的位置以及折半查询

问题 查找某个值在list中的位置 解决思路 可以用折半查询的方法解决此问题. 解决(Python) #! /usr/bin/env python #coding:utf-8 #折半查找某个元素在list中的位置 def half_search(lst,value,left,right): length = len(lst) while left<right: middle = (right-left)/2 if lst[middle]>value: right = middle-1 elif

浮动元素margin负值的应用

上次写到三列布局,其中提到浮动元素margin为负值时的应用,今天就来总结一下,它的用处何在. 首先,先来探究一下,当一个元素的margin为负值时,都会有哪些影响. 其一,对自身的影响. 当元素不存在width属性或则width:auto的时候,负值margin会增加元素的宽度.(注意:这仅仅是在元素不存在width属性或则width属性默认的时候,如果有宽度设置,margin-left和margin-right为负值时,会发生位移.) <!DOCTYPE html> <html>

[ jquery 过滤器 parentsUntil([expr|element][,filter]) ] 此方法用于在选择器的基础之上搜索查找当前元素的所有的父辈元素,直到遇到与表达式和限定条件相匹配的那个元素为止

查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止 如果提供的jQuery代表了一组DOM元素,.parentsUntil()方法也能让我们找遍所有元素的祖先元素,直到遇到了一个跟提供的参数匹配的元素的时候才会停下来.这个返回的jQuery对象里包含了下面所有找到的父辈元素,但不包括那个选择器匹配到的元素 [expr][,filter] expr: 用于筛选祖先元素的表达式 filter: 一个字符串,其中包含一个选择表达式匹配元素 [element][,filter] element:用

关于子元素的margin-top溢出和元素浮动对父元素高度影响解决方案

以下是个人学习笔记,仅供学习参考. 1.关于子元素的margin-top作用在无margin-top-border的父元素上导致子元素的margin-top溢出问题. 在给没有margin-top-border父元素中的子元素添加margin-top时,发现没有直接表现出来,而是作用到父元素身上,就会导致子元素的margin-top溢出. 条件: 1.父元素没有上边框 2.为第一个子元素设置上外边距时 解决方案: 1.为父元素增加上边框 弊端:父元素会变高 2.通过为父元素设置上内边距来取代子元

[ jquery 选择器 :nth-last-of-type() ] 选取指定(p)父元素下的从后向前数的指定第一个子元素(无关目标元素在父元素中所处的位置)

选取指定(p)父元素下的从后向前数的指定第一个子元素(无关目标元素在父元素中所处的位置): 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' conte