CSS 奇技淫巧

display:inline-block
代替 float;  消除 inline-block 元素之间的缝隙


ul{font-size:0; /* 子级 inline-block 产生的缝隙取消 */}
li{
display: inline-block;
*display: inline; /* 如果先定义了 display:inline-block,然后再将 display 设回 inline 或 block,layout 不会消失 */
width:200px;
height:200px;
background: red;
font-size: 12px; /* 父级通过 font-size 消除了 inline-block产生的留白, 故重新设置 font-size */
zoom:1; /* 触发haslayout */
}

 子级
nagative margin-tob 让父级高度收缩 (效果与设置父级固定高度一致);


<div class="container">
<div style="padding-bottom:50px; background: pink"> <!-- ★ 父级必须设置 padding-bottom: 大于0, 否则无效 -->
<img src="http://f.hiphotos.baidu.com/news/pic/item/94cad1c8a786c917250b38d8cb3d70cf3ac757c2.jpg" style="display: block; margin-bottom: -100px;">
</div>

<div style="margin-top:100px; padding-bottom:0px; background: pink"> <!-- 父级 padding-bottom: 0, 所以子级 margin-bottom: nagative 无效 -->
<img src="http://f.hiphotos.baidu.com/news/pic/item/94cad1c8a786c917250b38d8cb3d70cf3ac757c2.jpg" style="display: block;">
</div>

<div style="margin-top:100px;height:205px; background: pink"> <!-- 父级也可以直接设置固定高度, 效果同等于第一个实例 -->
<img src="http://f.hiphotos.baidu.com/news/pic/item/94cad1c8a786c917250b38d8cb3d70cf3ac757c2.jpg" style="display: block;">
</div>
</div>

文字绕排

图片或者div float:left; 它后面的兄弟元素就会由于它脱离文档流而位置产生变化,其中:

  如果兄弟元素为 块状非文本, 那么这些元素将靠齐父级左上角原点 (float元素无占位空间);

  如果兄弟元素中含有 文本,那么这些文本节点将围绕 float元素 进行绕排效果, float元素的 width 以及 padding margin
可以影响到 文本节点 与 float元素的左,上距离, 文本节点的尺寸为( 父级左上角原点到 文本绕排最外层的范围);

红块为未浮动的块状兄弟元素                文字产生绕排,并且将文本节点所处的父级(如p标签)尺寸直接撑开

 absolute等高布局


<style type="text/css">
*{padding:0; margin:0}
.fl{float:left;}
</style>

<div class="container">
<div class="left_wrap fl">
<div class="left_bg"></div>
<div class="left_con">
您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!您大爷!!!!!
</div>
</div>
<div class="right_wrap fl">
他妹哟~他妹哟~他妹哟~他妹哟~他妹哟~他妹哟~他妹哟~他妹哟~他妹哟~他妹
</div>
</div>

<style type="text/css">
.container{ width:600px; margin: 0 auto; overflow: hidden;/*父级高度根据子级实际内容高度进行子级多余隐藏*/ background: red; /* 这玩意是右边的背景 */}
.left_wrap{position:relative; width:40%;}
.left_bg{
position: absolute;
top:0;
left:0;
width:100%;
height: 999em;
background: pink; /* 这玩意是左边的背景 */
}
.left_con{position: relative; z-index: 1; /* 层级高于left_bg显示 */}
.right_wrap{width:60%;}
</style>

  

时间: 2024-10-05 22:35:15

CSS 奇技淫巧的相关文章

CSS 奇技淫巧十八招

http://www.tuicool.com/articles/VZneI3 開始覺得自己會寫 CSS 也算有一段時間了,常常遇到一些非常實用的技巧不斷地反覆使用,但是我個人覺得對初學者來說很難從樣式作用上自己發現可以如此的用法. 例如 border-radius: 50% 現在已經成了大家隨手都會用來搓圓仔的標準寫法了,但不知道可以這樣直接設百分比從正方形變成圓形的初學者我猜應該也是不少. 正好最近在教人學習 CSS ,整理下來也方便自己備忘參考. 設定 margin 讓區塊置中 對,擺在第一

css奇技淫巧-色彩渐变与动态渐变

来源 css渐变 CSS 中设置的渐变是 gradient 数据类型,它是一种特别的image数据类型.使用background-image设置,可叠加设置多个: CSS3 定义了两种类型的渐变(gradients): 线性渐变 linear-gradient() 渐变的实现由两部分组成:渐变线和色标.渐变线用来控制发生渐变的方向:色标包含一个颜色值和一个位置,用来控制渐变的颜色变化.浏览器从每个色标的颜色淡出到下一个,以创建平滑的渐变,通过确定多个色标可以制作多色渐变效果. 使用渐变色做背景已

css奇技淫巧之—多列等高

什么是等高布局? 先来看一个案例: 上图中的页面的主体内容是两列结构,左列是用来导航的,右列是用来显示内容的.我们看到它们有一个共同的边框,中间还有一条分隔线,左右两列的高度都是不固定的.这种情况下就需要两列的高度保持一致了,左边高度增加,右边也跟着增加,右边高度增加,左边同样也要增加,否则就会出现“断层”的效果.在这里,等高布局是为了维护边框线条的完整性,在有些地方则可能是为了维护背景的完整性,达到整体一致不缺失的效果. 布局方案 等高布局有几种不同的方法,但目前为止我认为浏览器兼容最好最简便

【温故知新】——CSS黑魔法小技巧可以少些不必要的js

前言:这篇文章是转载[前端开发博客]的一篇技术文章,并非本人所写.只是个人觉得很实用,所以分享给大家.原文链接:github.com 1.利用 CSS 的 content 属性 attr 抓取资料需求 鼠标悬浮实现一个提示的文字,类似github的这种,如图: 想必大家都想到了伪元素 after,但是文字怎么获得呢,又不能用 JavaScript. CSS 的伪元素是个很強大的东西,我们可以利用他做很多运用,通常为了做一些效果,content:" " 多半会留空,但其实可以在里面写上 

CSS 黑魔法小技巧,让你少写不必要的JS,代码更优雅

首页 登录注册 CSS 黑魔法小技巧,让你少写不必要的JS,代码更优雅 阅读 8113 收藏 927 2017-09-26 原文链接:github.com 腾讯云容器服务CSS,立即免费体验容器集群吧!cloud.tencent.com 之前不久,由于自己平时涉猎还算广泛,总结了一篇博客:这些JavaScript编程黑科技,装逼指南,高逼格代码,让你惊叹不已,没想到受到了大家的欢迎,有人希望能博主还能整理个 CSS 的一些黑魔法小技巧,无奈我 CSS 一直很渣,没什么干货,最近写了一个 Chro

【CSS进阶】box-shadow 与 filter:drop-shadow 详解及奇技淫巧

box-shadow 在前端的 CSS 编写工作想必十分常见.但是 box-shadow 除去它的常规用法,其实还存在许多不为人知的奇技淫巧. 喜欢 markdown 版本的可以戳这里. box-shadow 常规用法 说到 box-shadow ,首先想到的必然是它能够生成阴影,所以称之为 shaodow ,简单看看它的语法: 基础属性语法 box-shadow 属性向框添加一个或多个阴影. box-shadow: h-shadow v-shadow blur spread color ins

css中各种居中的奇技淫巧总结

css中各种居中的奇技淫巧总结   第一种,在固定布局中比较常用的技巧设置container的margin:0 auto:   第二种(从布局中入手)   css .outer{ height:200px; width:200px; background:gray; position:relative; } .inner{ width:100px; height:100px; top:50%; left:50%; background:black; position:absolute; marg

CSS布局奇技淫巧:各种居中

居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明外,都是兼容IE6+.谷歌.火狐等主流浏览器的. 先来说几种简单的.人畜无害的居中方法 1. 把margin设为auto 具体来说就是把要居中的元素的margin-left和margin-right都设为auto,此方法只能进行水平的居中,且对浮动元素或绝对定位元素无效. 2.使用 text-ali

CSS技巧学习小结

也是为了向自己上周周末制定的学习目标前进,这几天重点对CSS的基础知识.不常用知识点.布局这几个方面进行了复习和总结,也写了几个练习来试下手.刚好现在整得头有点晕,就来稍稍小结下这几天的问题.PS:谈不上多大的收获,但是对于现在的自己,只有这样做,才能亦步亦趋,跟上学习节奏. CSS样式操作的烦恼之处在于你可以实现既定的效果,但是会走很多的绕路,还要经受IE6.7.8的折磨.也是为了偷懒,才能够在搜索结果中找到那么多的奇技淫巧.这几天自己也跟着教程做了几个,原理看起来是很简单的,但是理解起来还是