缘起

其实看到这个问题,心里已经默默把代码已经码好了~,不就想下面这样嘛:
JSBIN代码示例

嗯,是的,我们日常确实基本上就是用的这种方式,也没啥问题呀~,来个背景色定下位就欧拉欧拉的了。

不过,因为一次问题需要,发现还是有需要多了解下的。


来,请看下图,这个需求是这样子的,实现这样子的效果(可以先构思下实现代码,看下思路是不是差不多的呢?)

可以看到,这个线后面有背景图,随着屏幕尺寸渐宽时,会盖到背景图上,缩小时,则不会盖在背景图上,这就不能使用我们平常的填充背景色的写法了,只能另寻他路(想到有什么好的方法实现了么?)

所以这个问题是:因屏幕的伸展收缩会导致内容区所能容纳的内容不一,从而导致高度不一,各个元素也是随着屏幕时高时底,背景色的用法无法生效,有何好的解决办法?

当然,你有可能会说这是特例,可以直接上图,固然这种方式可以,但是,有很多这样的区块,难道就全部都直接上图么?肯定不行啦~,能懒就懒,如能找到一劳永逸的办法肯定比直接上图,结果发现弄完发现文案有问题,要改字就蛋疼了。

方法

好了,开始想办法解决上面的问题了。

先从float下手,两条线各浮动在两侧,其实我们可以理解为常见的网页三栏布局,可是问题是,不能定宽度呀,定了还怎么去自适应呢?所以这条pass

既然float不行了,那想想别的,这回就用position吧~开头的用法也是这种,不过是有背景色的而已,这回我们不许用背景色,看如何处理这个问题。

首先,基本结构:

  1.  
    <div class="title">
  2.  
    <span class="caption">Headling</span>
  3.  
    </div>

我们可以用伪类:before:after来生成一些无关紧要的东西,不过为了能让大家看的清楚些,直接用标签了,
这是改进后的结构:

  1.  
    <div class="title">
  2.  
    <span class="caption"><span class="line line-l"></span>Headling<span class="line line-r"></span></span>
  3.  
    </div>

接着给样式(答案就在里面噢):

  1.  
    .title { position: relative; z-index: 2; font-size: 16px; line-height: 24px; text-align: center; color: #999; overflow: hidden; }
  2.  
    .title .caption { position: relative; display: inline-block; }
  3.  
    .title .caption .line { position: absolute; top: 11px; width: 600px; height: 1px; background-color: #ddd; }
  4.  
    .title .caption .line-l { right: 100%; margin-right: 15px; }
  5.  
    .title .caption .line-r { left: 100%; margin-left: 15px; }

看了上面的样式有没看出些端倪呢?解释下这个实现细节:

  • 首先,将.caption设为行内框,相对定位

  • 接着,两根线的定位是被.caption所包含的,接着将它们推向它们各自的地方(left: 100%right: 100%),应该知道这100%是基于谁算的吧?(没错,就是第一步里的.caption,结果你应该猜到了?)

  • 最后再用margin-left/right隔出间隙,就满足了我们的需求啦

我们可以将.line的宽度设的超长,overflow掉即可,这样就可以做到自适应了,下面提个小问题:

用以上的方法,解决这个线的问题~

最后

这个问题还有别的解决方式,比如line-gradient这些~

CSS标题线(删除线贯穿线效果)实现之一二的更多相关文章

  1. CSS 常见样式 特殊用法 贯穿线&徽章&箭头

    ### 贯穿渐变线,中间插值- 如图: > ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190427200554843.png) ![在这里插入图片描述 ...

  2. CSS 常见样式 特殊用法 贯穿线&徽章&箭头

    贯穿渐变线,中间插值 如图: <h3 class="brief-modal-title"> <span>公告</span> </h3> ...

  3. altium6.x中自动删除重复走线的位置

    在protel 2004 DXP中,“自动删除走线”的位置就在"PCB Editor"的默认页面,非常好找. 但是升级到了altium 6.7,6.9之后,很多人就找不到这个了. ...

  4. iOS 删除黑色边框线导航栏&amp;删除搜索框的阴影边界线和中黑色文本输入框 - 解

    删除黑色边框线导航栏 in viewDidload: [self.navigationController.navigationBar setBackgroundImage:[[UIImage all ...

  5. 神奇的canvas——点与线绘制的绚丽动画效果

    代码地址如下:http://www.demodashi.com/demo/11636.html 前言 之前在某网站上看到了一个canvas绘制的动画效果,虽然组成的元素很简单,只有点和线,但是视觉效果 ...

  6. Tableau绘制K线图、布林线、圆环图、雷达图

    Tableau绘制K线图.布林线.圆环图.雷达图 本文首发于博客冰山一树Sankey,去博客浏览效果更好.直接右上角搜索该标题即可 一. K线图 1.1 导入数据源 1.2 拖拽字段 将[日期]托到列 ...

  7. OTG线与普通USB线的区别

    转自OTG线与普通USB线的区别 USB数据线是我们常见的设备,OTG线作为近年来随着手机行业的快速发展,逐步进入了我们的日常使用范围.OTG线与普通USB线的有什么区别?       USB数据线用 ...

  8. otg线是什么,otg线和数据线的区别介绍

    OTG是什么? OTG主要应用于各种不同的设备或移动设备间的联接,进行数据交换.USB技术的发展,使得PC和周边设备能够通过简单方式.适度的制造成本将各种数 据传输速度的设备连接在一起.上述我们的应用 ...

  9. 双绞线的制作,T568A线序,T568B线序

    双绞线的制作 1.1 实验目的 双绞线是组建局域网时常常使用的通信传输介质,通过本实验,让学生学会制作双绞线. 1.2 实验任务 (1)了解双绞线的特性及屏蔽与非屏蔽双绞线的区别. (2)了解EIA/ ...

  10. CubieBoard开发板不用ttl线也不用hdmi线的安装方法

    本文重点在于CubieBoard开发板系统的初始化安装,并且不用ttl和hdmi线,开机就可以远程ssh进系统.本文适合没有配线的同学参考操作.事实上,无论有没有ttl线,按照本文的方法安装效率都是一 ...

随机推荐

  1. Codeforces_101498

    A.map统计数量,更新最大值. #include<bits/stdc++.h> using namespace std; int n; map<int,int> mp; in ...

  2. Codeforces_817

    A.要求坐标差为移动距离的两倍. #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdi ...

  3. Ubuntu14.04安装及配置mysql5.7.19

    通过uname -a或lsb_release -a 查看版本信息 ,确定linux的发行版是debian还是ubuntu.root@suepc:/usr/local# uname -aLinux su ...

  4. .gitignore配置规则

    1.gitignore文件 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法.这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 ...

  5. 04.JS逻辑结构

    前言:  学习一门编程语言的基本步骤(01)了解背景知识(02)搭建开发环境(03)语法规范(04)常量和变量(05)数据类型(06)数据类型转换(07)运算符(08)逻辑结构8.逻辑结构——logi ...

  6. SharePoint 开发另存文档库中文档

    前言 最近碰到这样一个问题,用前端框架读取SharePoint文档库中文档的时候,如果是PDF/TXT等类型的文档,不会出现另存为的操作,而是在浏览器中在线打开,这样用户是无法接受的. 解决方法 通过 ...

  7. 在服务器上搭建远端git仓库

    推荐使用运行Liunx的机器 请获取root权限后进行下面操作 安装git # 检查是否安装了git如果有版本号就无需再安装 git -v # 安装git sudo apt-get install g ...

  8. apue 外传

    先上目录 chapter 3 [apue] dup2的正确打开方式 chapter 10 [apue] 等待子进程的那些事儿 chapter 14 [apue] 使用文件记录锁无法实现父子进程交互执行 ...

  9. 股票数据获取到了,导入MT4中,是否可以做出很好的量化交易策略呢?

    寻找了很久,看到有tushare这个python的类库,但研究了几个小时都没有研究明白,anaconda安装和pycharm的使用都不是特别顺手,最后也是失败告终.还有就是我的低配的平板suerfac ...

  10. 物联网开源框架Thingsboard使用总结

    Thingsboard中文社区:http://thingsboard.iotschool.com/ 参考网址:https://thingsboard.io/docs/getting-started-g ...