神奇的负margin解决border“合并”

如上图所示,这是一个分页样式,a:hover时,需要改变边框的颜色。
我们知道,除表格之外,其他标签的border是不能合并的。要解决这个问题,思路有三:
1、table布局(大概很少有人愿意在这里使用table)
2、display:table (这或许是解决之道,如果你不考虑ie6和ie7的话)
3、outline(使用outline属性代替border,你会发现相邻的2个outline叠加了,这正是解决之道?好吧,很遗憾的是ie6和ie7还是不支持)
这个例子其实来自我加的一个javascript群,有人问到了这个问题= =,当时我的就只想到了这三个方法,但是都不妥当。于是这个问题就搁下了。
3天后,我又想到了这个问题,再次尝试解决。
终于找到第四种方案:margin-left
.wrap{
width: 300px;
margin: 0 auto;
}
.box{
float: left;
}
.box a{
float: left;
width: 40px;
height: 40px;
background-color: #edd;
text-align: center;
line-height: 40px;
text-decoration: none;
position: relative;/*必须*/
z-index:;/*必须*/
border:1px solid #000;
margin-left: -1px;/*必须*/
}
.box a:hover{
z-index:;/*必须*/
border:1px solid #f00;
}
<div class='wrap'>
<div class='box'>
<a href="javascript:;">1</a>
<a href="javascript:;">2</a>
<a href="javascript:;">3</a>
<a href="javascript:;">4</a>
<a href="javascript:;">5</a>
</div>
</div>
神奇的负margin解决border“合并”的更多相关文章
- 神奇的负Margin
在做slide时候一般都是采用父元素超宽+overflow的做法,今天发现了用margin-right:-100%;可以让子元素全部重叠起来.效果也是不错的
- 负margin在布局中的运用(*****************************************************************)
一.左右栏宽度固定,中间栏宽度自适应 <!DOCTYPE html> <html> <head lang="en"> <meta char ...
- 我知道你不知道的负Margin
现如今,负margin技术的应用可谓越来越广,任一个大型站点惊鸿一瞥之下都会有其身影所在.个人认为负margin技术是学习css路上必不可缺少的课题之一,许多高级应用及疑难杂症修复都可以使用负marg ...
- 用margin还是用padding?(3)—— 负margin实战
看过一篇文章是关于我知道你不知道的负Margin,里面对margin做了总结: 当margin四个值都为正数值的话,那么margin按照正常逻辑同周围元素产生边距.当元素margin的top和left ...
- 关于margin外边距合并的问题
一 .兄弟元素margin外边距合并演示 当两个垂直方向相邻的兄弟元素都为常规流块盒,他们之间垂直方向的外边距不是两者之和,而是取两者中的最大值.这种现象被称为相邻的兄弟元素垂直方向外边距合并. ...
- 为什么margin-top不是作用于父元素【margin外边距合并问题】
coding时发现margin-top居然没作用于本元素上,而是作用到了父元素上. 原来是margin外边距合并导致的.以下是网上搬运来的知识: margin外边距合并详解:外边距合并现象在网页布局中 ...
- css007 margin padding border
css007 margin padding border 1.理解盒模型(盒模型:就是把一些东西,包括html各种标签都包含在一个 看不见的盒子里) 1/在web浏览器中任何标签都是一个盒子,内容的周 ...
- [转]关于负margin在页面中布局的应用
本文转载自:http://www.cnblogs.com/jscode/archive/2012/08/28/2660078.html. 今天再写一个布局的时候用到一个margin-top是负值的情况 ...
- 负margin一些奇葩的布局技巧
copy_from_ http://www.hicss.net/i-know-you-do-not-know-the-negative-margin/ <!doctype html> &l ...
随机推荐
- 小米 oj 硬币比赛(思维+动态规划)
硬币比赛 序号:#47难度:困难时间限制:1000ms内存限制:10M 描述 有 n 个不同价值的硬币排成一条线.有 A 与 B 两个玩家,指定由 A 开始轮流(A 先手,然后 B,然后再 A..) ...
- Codevs 4909 寂寞的堆
4909 寂寞的堆 时间限制: 1 s 空间限制: 8000 KB 题目等级 : 大师 Master 题目描述 Description 堆,是一种神奇的数据结构 不寂寞的堆,是一棵满二叉树,其儿子节点 ...
- Java事务不回滚的原因总结
1.首先要检查数据的引擎,InnoDB支持事务,MyIsam不支持事务 2. 默认spring事务只在发生未被捕获的 runtimeexcetpion时才回滚. spring aop 异常 ...
- AGC032F One Third
很奇怪的一个题.看见了无从下手.概率期望好题. 给一个面积为 \(1\) 的圆,经过圆心随机幅角切直径 \(n\) 次,定义 \(f(x) = \min |S - \frac{1}{3}|\),其中 ...
- 日期与时间(C/C++)
C++继承了C语言用于日期和时间操作的结构和函数,使用之前程序要引用<ctime>头文件 有四个与时间相关的类型:clock_t.time_t.size_t.和tm.类型clock_t.s ...
- wgs84 转百度经纬度坐标
/** * wgs84 转百度地图坐标 * @param $lng * @param $lat * @return array */ function toBaiduLocation($lng,$la ...
- C#_选择结构,Console的应用,数据类型转换
1:先看一个顺序结构编程,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.T ...
- 使用arcpy.mapping 更新和修复数据源
来自:https://blog.csdn.net/gisinfo/article/details/6675390 在许多情况下,您都可能需要修复数据源或重定向数据源至其他位置.然而,如果是在每个相关的 ...
- [Java]给指定时间加上十秒
package com.testEmp; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util. ...
- SCM是什么?
答: 全称为Software Configuration Management,即为软件配置管理