CSS-布局样式之筛选条件右边线的处理方法(no CSS3)

简介: 先上图:这个地方的竖线,首先他不用css3的nth-child或last-child的选择器来解决的话,还有什么更好的方法呢?如果我还用上次优惠券那种,加一个的话,类似如下以后不可能就三个标签,以后程序往里边传东西肯定又会改变了,于是鄙人开始寻找大型网站的相同效果的处理方法找到三种处理方法1:易车惠:http://www.huimaiche.com/   底部的外网链接他的处理方式是a+em,em包含竖线。

先上图:

这个地方的竖线,首先他不用css3的nth-child或last-child的选择器来解决的话,还有什么更好的方法呢?

如果我还用上次优惠券那种,加一个<b>的话,类似如下

以后不可能就三个标签,以后程序往里边传东西肯定又会改变了,

于是鄙人开始寻找大型网站的相同效果的处理方法

找到三种处理方法

1:易车惠:http://www.huimaiche.com/   底部的外网链接

他的处理方式是a+em,em包含竖线。

但这种的布局,首先a是独立的内联元素,没有固定搭档的说法,不像li和ul,dd和dt。所以他可以和span做兄弟。

其次,他的兄弟数量是固定下来的,不用后台再传进来东西。

而我这种页面布局,最终数目都是看用户的心情,到底几个都是随机的,不可能会有固定数目的。

 

2:天猫首页侧边导航栏这个斜线:

处理方法是几个文字用a标签包裹,而斜线写在a标签之间,作为li标签的内容文本。

人家这种处理方式适合,文字与装饰线条都是统一颜色,另外文字用一个链接就行了很单纯。

不像现在面临的这种布局——其特点在于:

(1)有一个需要dt标签来存放的一级目录;

(2)二级目录和斜线的颜色不一样;

(3)二级目录之间,除了不变的汉字,还有需要更改的数值,如图:

  

全部和5要分开标签吧。结构很零碎,想做到简单很麻烦。

 

 

 

3:天猫首页搜索栏下边的热点导航条:

他这种,竖线使用border写的,很符合我的要求。更惊喜的是:其实现方法也打开了我的新思路,有句话怎么说来着,茅厕顿开。哈哈哈:

看到这种布局,像我这种菜鸟,第一时间想到的肯定是用border-right实现吧!但是!他用border-left实现的。。

我想我看到他border-left后,瞬间恍然大悟他的处理方式了。

我还在想,难道第一个li要用css3的first-child?那和last-child 没有什么不同吧。

结果我看第一个li,还有啊!border-left还在啊!没有用border:none处理掉啊!

经过盒模型的显示,我才看懂他使用了margin的负边距布局这个经典方法啊。

如下:盒模型图

Ul的爹地div

ul

就是,让ul的margin-left为负值,把第一个li左边的border给推出去啊。

关键点是,div还要设置overflow:hidden;不然这个魔术是变不成功的啊。

另外,这种做法中,border是加在li上边的,li的line-height:1.1;没有单位,这样的话,竖线和文字的高度是一样的,不会出现那种冒出头的雨后春笋。

我后来自己设计的时候,把border给了dd内部的a标签,然后让第一个a 的margin-left为-2,让dd的overflow:hidden,然后把line-height给了dd,

bug接踵而至,三个dd就和dt变得在一个高度上了,

行高给了a却没用,竖线还是出头,于是我就给了dd也给了dt,这样,高度就想通了。

最后,上代码:

 1 <!DOCTYPE html>
 2 <html>
 3 
 4     <head>
 5         <meta charset="UTF-8">
 6         <meta name="author" content "郭菊锋,702004176@qq.com"/>
 7         <title>list</title>
 8         <style type="text/css">
 9             * {
10                 margin: 0;
11             }
12             
13             a {
14                 text-decoration: none;
15             }
16             
17             a:hover {
18                 cursor: pointer;
19             }
20             
21             li {
22                 list-style: none;
23             }
24             
25             .clearfix:after {
26                 visibility: hidden;
27                 display: block;
28                 font-size: 0;
29                 content: "";
30                 clear: both;
31                 height: 0;
32             }
33             
34             .clearfix {
35                 *zoom: 1;
36             }
37             
38             .menu {
39                 width: 1100px;
40                 margin: 130px auto;
41                 padding: 10px;
42                 background: #DFE9F6;
43                 font-size: 16px;
44                 border-bottom: 1px dashed #DB7093;
45             }
46             
47             .menu dt {
48                 float: left;
49                 color: #999;
50                 line-height: 1.1;
51             }
52             
53             .menu dd {
54                 float: left;
55                 overflow: hidden;
56                 line-height: 1.1;
57             }
58             
59             .menu dd a {
60                 padding: 0 12px;
61                 color: #333;
62                 border-left: 2px solid #DB7093;
63             }
64             
65             .menu dd.menu_active a,
66             .menu dd a:hover {
67                 color: #DB7093
68             }
69         </style>
70     </head>
71 
72     <body>
73         <dl class="menu clearfix">
74             <dt>品牌:</dt>
75             <dd class="menu_active">
76                 <a href="#" title="" style="margin-left: -2px;">全部</a>
77             </dd>
78             <dd>
79                 <a href="#" title="">第一</a>
80             </dd>
81             <dd>
82                 <a href="#" title="">第二</a>
83             </dd>
84             <dd>
85                 <a href="#" title="">第三</a>
86             </dd>
87             <dd>
88                 <a href="#" title="">第四</a>
89             </dd>
90         </dl>
91     </body>
92 </html>

 

目录
相关文章
|
1月前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
1月前
|
前端开发 JavaScript UED
|
1月前
|
前端开发 容器
实现CSS品字布局
【10月更文挑战第27天】
|
1月前
|
前端开发
HTML 样式- CSS3
内部样式表适用于单个文件的特别样式,通过&lt;head&gt;部分的&lt;style&gt;标签定义;外部样式表适用于多个页面,通过&lt;link&gt;标签引用外部CSS文件;&lt;style&gt;定义样式,&lt;link&gt;引用资源;已弃用的标签有&lt;font&gt;、&lt;center&gt;、&lt;strike&gt;,属性有color和bgcolor。
HTML 样式- CSS2
HTML样式实例展示了如何使用`font-family`、`color`和`font-size`属性来定义字体样式,以及使用`text-align`属性来设置文本的对齐方式。示例包括标题和段落的样式设置。
|
1月前
|
前端开发
HTML 样式- CSS1
CSS (层叠样式表) 用于为 HTML 元素添加样式,包括颜色、文本、盒子模型等。CSS 可以通过内联样式、内部样式表或外部引用的方式添加到 HTML 中。推荐使用外部引用方式。本教程将介绍如何使用 CSS 为 HTML 添加样式,并提供实例演示。
|
4月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果
HTML+CSS 实现通用的企业官网页面(记得收藏)
HTML+CSS 实现通用的企业官网页面(记得收藏)
|
2月前
|
前端开发 JavaScript 搜索推荐
打造个人博客网站:从零开始的HTML和CSS之旅
【9月更文挑战第32天】在这个数字化的时代,拥有一个个人博客不仅是展示自我的平台,也是技术交流的桥梁。本文将引导初学者理解并实现一个简单的个人博客网站的搭建,涵盖HTML的基础结构、CSS样式的美化技巧以及如何将两者结合来制作一个完整的网页。通过这篇文章,你将学会如何从零开始构建自己的网络空间,并在互联网世界留下你的足迹。