本文将分享CSS:页脚位置绝对或相对取决于内容大小?的详细内容,并且还将对css设置页脚进行详尽解释,此外,我们还将为大家带来关于CSSGrid–自动高度行,调整内容大小、CSS–div宽度取决于上面
本文将分享CSS:页脚位置绝对或相对取决于内容大小?的详细内容,并且还将对css设置页脚进行详尽解释,此外,我们还将为大家带来关于CSS Grid – 自动高度行,调整内容大小、CSS – div宽度取决于上面的图像大小、css – Firefox中具有位置相对和内容绝对错误的表格单元格、css – IE6位置:绝对相对容器调整大小的相关知识,希望对你有所帮助。
本文目录一览:- CSS:页脚位置绝对或相对取决于内容大小?(css设置页脚)
- CSS Grid – 自动高度行,调整内容大小
- CSS – div宽度取决于上面的图像大小
- css – Firefox中具有位置相对和内容绝对错误的表格单元格
- css – IE6位置:绝对相对容器调整大小
CSS:页脚位置绝对或相对取决于内容大小?(css设置页脚)
在案例1中:内容高度小于窗口.
在案例2中:内容高度大于窗口 – 并滚动显示,
我的问题是内容是动态变化的.因此,有时.cont高度大于窗口高度.然后,.foot应该在.cont之下.
如果我设置此代码
<html> <head> <style type="text/css"> .cont{ margin:0 auto; background-color:#333; width:800px; height:500px; } .foot { position:absolute; left:50%; margin:0 0 0 -400px; background-color:#F33; width:800px; height:20px; bottom:0px; } </style> </head> <body> <div></div> <div></div> </body> </html>
我明白了:
谢谢你的帮助!
解决方法
CSS Grid – 自动高度行,调整内容大小
div { border: 1px dotted black; } .grid-2 { display: grid; grid-template-columns: repeat(2,1fr); grid-auto-rows auto; } .grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-auto-rows auto; } .left { background-color: red; } .right { background-color: green; }
<div> <div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> </div> <div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> </div> </div>
解决方法
div { border: 1px dotted black; } .grid-2 { display: grid; grid-template-columns: repeat(2,1fr); grid-auto-rows: minmax(min-content,max-content); } .grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-auto-rows: minmax(min-content,max-content); } .left { background-color: red; } .right { background-color: green; }
<div> <div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> <div>L</div> </div> <div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> <div>R</div> </div> </div>
CSS – div宽度取决于上面的图像大小
<html><head> <title></title> <Meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <style type="text/css"> .Box {background:gray;border:3px solid black;float:left;} </style> </head> <body> <divhttps://www.jb51.cc/tag/Box/" target="_blank">Box"> <img src="http://i.stack.imgur.com/shWOu.jpg"> <p>Lorem ipsum dolor sit amet,consectetur adipiscing elit. Vestibulum mattis ante ac sapien pellentesque vitae condimentum odio euismod. In purus nibh,ullamcorper in suscipit non,scelerisque eget sem. </p> </div> </body></html>
正如你现在可以看到的那样,带有黑色边框的框具有自动宽度,可以适应内部的内容.问题是我想要框的大小调整到内部的图像的宽度.因此,如果图像具有像示例(红色框)一样的宽度,则下面的文本应该以蓝点标记停止,并转到新行.
但是我该如何做呢?
解决方法
所以…您需要向外部div添加宽度,或者在使用围绕图像文本的div的情况下,该div中的宽度.
编辑:
干得好:
http://jsfiddle.net/jnmtu/
我做了一个测试(在我的例子是第三个)与一个表来测试它,并刷新我的想法,它如何工作与表,然后我应用到CSS的方式.
怎么运行的:
您需要具有最小宽度(1%)的周围div,并将其显示为表格;那么内部div(对应于“单元格”)应该有一个自动高度和隐藏的溢出,这是需要“强制”它来拉伸div的宽度高度(这是一个常见的技巧).
注意:我没有在Internet Explorer中测试,它可以与Firefox和Safari一起使用.
css – Firefox中具有位置相对和内容绝对错误的表格单元格
细胞相对定位,形状绝对定位.在每个浏览器中它都应该工作,但不是Firefox ……
表CSS有问题吗?
CSS
.table { display: table; width:100%; height:100%; table-layout: fixed; } .row { display: table-row; height: 1px; } .cell { display: table-cell; vertical-align: middle; position: relative; } .menu .cell { width: 33.33%; border: 1em solid #000; font-size: 1.14em; background: #fff; background-clip: padding-Box; vertical-align: top; position: relative; } .menu .cell header { padding:.5em 1em; background-color: #383430; color: #fff; line-height: 1.2; position: relative; } .menu .cell .content { padding:2em 1em 3em 1em;} .menu .cell h3 { font-size: 1em; text-transform: uppercase; text-decoration: underline; font-weight:300;} .menu .cell ul { margin: 0; padding: 0; list-style: none; } .menu .cell li { line-height: 1.4; padding:0.25em 0; border-bottom: 1px solid #ecece6;} .menu .cell li:last-child { border-bottom: none; margin-bottom: 0;} .menu .like header:before { content : 'on aime !'; position: absolute; bottom: 100%; left: 1em; text-transform: uppercase; font-size: .8em; padding: 3.5em .5em .5em .5em; border-radius: 1em 1em 0 0; background: #dd582a url(imgs/on-aime.png) center .5em no-repeat; Box-shadow: 0px 0px 2px 0 rgba(0,.5); } .menu .favorite { position: absolute; bottom: -.75em; right: -.75em; display: block; width: 100%; overflow: hidden;} .menu .favorite input { position: absolute; top: -30em;} .menu .favorite label,.menu .favorite label:before { background-color: #dd582a; height: 32px; white-space: Nowrap; float: right; color: #fff; background-image: linear-gradient(#dd582a 50%,#bd5d3b 100%); } .menu .favorite label:hover,.menu .favorite label:hover:before{background-image: linear-gradient(#bd5d3b 5%,#dd582a 50%); } .menu .favorite label { text-align: center; font-size: 24px; width: 32px; display: block; line-height: 28px; border-radius: 4px; cursor: pointer;} .menu .favorite label:before { content: "Add to favorite"; display: block; position: absolute; right: 34px; padding:0 8px; font-size: 14px; line-height:32px } .menu .favorite input:checked + label { color: #e77248; background-color: #fff;background-image: linear-gradient(#ffffff 50%,#bfbfbf 100%); } .menu .favorite input:checked + label:hover{background-image: linear-gradient(#bfbfbf 5%,#fff 50%);} .menu .favorite input:checked + label:before { content: "Like"}
HTML
<div> <div> <div> <div > <header>100 $</header> <div> <h3>Title 1</h3> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li>Item 5</li> <li>Item 6</li> </ul> </div> <form> <input id="bal-menu2" type="checkBox" name="bal-menu2" value="favorite" /> <label for="bal-menu2">♥</label> </form> </div> </div> <div> <div > <header>100 $</header> <div> <h3>Title 1</h3> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li>Item 5</li> <li>Item 6</li> <li>Item 7</li> <li>Item 8</li> </ul> </div> <form> <input id="bal-menu2" type="checkBox" name="bal-menu2" value="favorite" /> <label for="bal-menu2">♥</label> </form> </div> </div> </div></div>
这是一个小提琴
http://jsfiddle.net/warface/8bWUe/2/
看看firefox,你会注意到“添加到收藏夹”的形式相互叠加,但在其他浏览器中它定位得很好.
有关如何使其工作的任何线索,它应该像Chrome,Safari,IE8,……?
编辑
经过一些研究……自2000年以来Firefox就出现了这个问题
https://bugzilla.mozilla.org/show_bug.cgi?id=63895
而他们似乎没有给它一个中指来解决它…在地狱火灾!
解决方法
CSS
.row { display: table-row; height:100%; } .cell div {height:100%; position: relative }
这是udpated小提琴
http://jsfiddle.net/8bWUe/19/
适用于FF v22.0
css – IE6位置:绝对相对容器调整大小
解决方法
$("div.absolute").css("top",$(".inner").height());
这里有一个工作示例. http://fiddle.jshell.net/bfXGC/14/
今天的关于CSS:页脚位置绝对或相对取决于内容大小?和css设置页脚的分享已经结束,谢谢您的关注,如果想了解更多关于CSS Grid – 自动高度行,调整内容大小、CSS – div宽度取决于上面的图像大小、css – Firefox中具有位置相对和内容绝对错误的表格单元格、css – IE6位置:绝对相对容器调整大小的相关知识,请在本站进行查询。
本文标签: