缘起

其实看到这个问题,心里已经默默把代码已经码好了~,不就想下面这样嘛:
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. Markdown 教程

    Markdown 简介 Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档. Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建. ...

  2. constrainlayout布局

    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/r ...

  3. MetaWebLog API — 一个多平台文章同步的思路

    文章选自我的博客:https://blog.ljyngup.com/archives/578.html/ 起因 为了给博客带来流量,我在CSDN,博客园,简书上开通了账号并且把博客里的一些可以发布的文 ...

  4. Nice to meet you for the first time .Why do I write blog!

    他们说我不修边幅,因为他们没看到我对细节的追求,他们说我技术宅,因为他们看不懂我的悲欢,他们说我无趣,是因为她们不知道,我在让世界变得更有趣,我把误解拿来自黑,我用工作承载兴趣,我是程序员,是用代码编 ...

  5. 还是端口回流问题 TCP协议解析

    还是上一篇的问题 在一内部局域网中, client  内网地址为 10.0.0.2     web  服务器内网地址为 10.0.0.1    外网地址为  211.6.15.1    域名为  xx ...

  6. docker启动nginx的ssl配置

    前提条件 一台云服务器(阿里云.腾讯云等的centOS) 服务器上面要有docker(安装方法这里不做介绍) 一个域名 ssl证书(两个文件:一个key后缀,一个pem后缀:生成方法很多这里不再介绍) ...

  7. Mybatis注解开发多表一对一,一对多

    Mybatis注解开发多表一对一,一对多 一对一 示例:帐户和用户的对应关系为,多个帐户对应一个用户,在实际开发中,查询一个帐户并同时查询该账户所属的用户信息,即立即加载且在mybatis中表现为一对 ...

  8. [红日安全]Web安全Day2 - XSS跨站实战攻防

    本文由红日安全成员: Aixic 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名 ...

  9. navicat连接异常 authentication plugin 'caching_sha2_password' 问题解决

    mysql 8.0 默认使用 caching_sha2_password 身份验证机制 -- 从原来的 mysql_native_password 更改为 caching_sha2_password. ...

  10. LINUX下EFIBOOTMGR的使用,删除UEFI主板多余启动项和添加启动项

    用uefi装了几次次archlinux,搞的uefi启动选项下多出来好多启动项..这东西重格硬盘也是不好用的.发现以下方法可以解决. efibootmgr   //显示efi的启动项 删除一个引导项 ...