问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

css 边框上如何写入文字?

发布网友 发布时间:2022-04-23 05:33

我来回答

6个回答

懂视网 时间:2022-05-12 17:56

CSS实现文本周围插入内容的方案

本文要讨论的是如何在文本的周围插入图标,怎么样控制它们之间的位置关系,通过HTML结构合理性与CSS属性的使用来比较不同方案所实现效果的优缺点。

常见设计稿要求

  • 在文本前、后、上、下插入图标、线条、三角形、圆形

  • 插入的元素要和文本实现间距、对齐(居中、顶部、基线)等位置关系。

  • 理伦知识

  • 灵活使用display、background等属性

  • 通过:before:after配合content属性来实现插入内容。

  • 通过absolute、vertical、margin、line-height等属性实现文本与符号位置关系。

  • 能够使用CSS属性画出的图形则用CSS属性,否则用background属性显示背景图片

  • 实践操作

  • 解法一:改变HTML结构,通过在文本元素前或后增加标签如<span></span><i></i>

  • 解法二:直接使用伪元素:before和:after(Ie7以下不支持)

  • 必须有content属性

  • 插入的元素的是内联元素,需要显示地定义为块级元素,才能设置高度,填充,边距等

  • 线条


    html
    <div class="article-block-title">
     <h2 class="title">
     <span>前端技术</span><i>前端技术前端技术</i>
     </h2>
    </div>
    css
    .article-block-title {
     height: 44px;
     /*实现文本与竖线对齐*/
     line-height: 44px;
     border-left: 3px solid #72b16a;
     padding-left: 20px;
    }
    分析
  • 直接利用该文本的容器使用border-left、border-right、border-top、border-bottom可以分别实现只显示文本上、下、左、右的线条。

  • 对于inline,inline-block等,可使用line-height实现文本与竖线的居中。

  • html
    <p class="text-info">
     <i class="line line-left"></i>resto restaurant home page website template<i class="line line-right"></i>
    </p>
    css
    .text-info .line {
     display: inline-block;
     width: 40px;
     border-top: 1px solid #fff;
     /*使横线居中*/
     vertical-align: middle;
     /*for IE7*/
     *margin-top: 22px;
    }
    分析
  • 在文本前后添加ispan标签相对使用伪元素:before和:after更加清晰明了。

  • vertical-align:middle实现线与文本垂直居中。

  • 该属性在ie7中失效

  • 可使用margin-top实现(前提知道parent-element高度

  • html

    <div class="menu-tips">The menu</div>
    css
    .menu-tips:after {
     position: absolute;
     left: 0;
     bottom: 0;
     content: "";
     width: 0;
     height: 0;
     /*menu是156px宽,所以这里设置78px*/
     border-left: 78px solid transparent;
     border-right: 78px solid transparent;
     border-bottom: 10px solid #fff;
    }
    分析
  • 通过transparent属性配合border实现三角形。

  • 注意的是,我们可以使用position属性使:before和:after插入到任意位置,不仅仅是“前”或“后”。可以实现右图的线条位于文字“成为我们的志愿者”的正下边。

  • 圆形

    html
    <div class="btn-group">
     <a href="" class="btn"></a>
     <a href="" class="btn active"></a>
     <a href="" class="btn"></a>
     <a href="" class="btn"></a>
    </div>
    css
    .index-panel-header .btn-group {
     float: right;
     /*清除行内元素的4px空白间距*/
     font-size: 0;
    }
    
    .index-panel-header .btn {
     display: inline-block;
     margin-left: 11px;
     width: 9px;
     height: 9px;
     background: #dedede;
     /*画圆*/
     -moz-border-radius: 5px; /* Firefox */
     -webkit-border-radius: 5px; /* Safari 和 Chrome */
     border-radius:5px; /* Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 */
     /*for ie7、8*/
     position: relative;
     z-index:2;
     behavior: url(../ie-css3.htc); /* 通知IE浏览器调用脚本作用于'btn'类 */
    }
    分析
  • 这里是banner轮播图等需求的做法,因为是连续的按钮,只要利用border-radius的属性画出圆形。

  • border-radius在IE8以下无法使用,需要强制

  • Trick1:用图片background替代

  • Trick2:调用脚本 ie-css3.htc,使IE浏览器支持css3属性。

    1. 当前元素一定要有定位属性,像是position:relative或是position:absolute属性。

    2. z-index值一定要比周围元素的要高

    自定义图标

    html
    <div class="star-bar">
     <span class="star"></span>
     <span class="star"></span>
     <span class="star"></span>
     <span class="star"></span>
     <span class="star nostar"></span>
    </div>
    css
    .star-bar {
     font-size: 0px;
    }
    
    .star {
     display: inline-block;
     width: 10px;
     height: 10px;
     margin-right: 5px;
     background: url("../images/index-star.png") no-repeat;
    }
    
    .nostar {
     background-position: 0 -10px;
    }
    分析
  • 这里是一些评分等需求的做法,利用background的属性显示图片。

  • 扩展的知识

  • 关于如何居中元素,这里有个作弊工具:如何居中元素

  • 总结

  • 如果是连续多个图标符号,则使用HTML标签表示。

  • 如果是插入单个符号的话,在不考虑兼容性的情况下,使用伪元素 > 额外添加HTML标签。

  • 热心网友 时间:2022-05-12 15:04

    需要准备的材料分别有:电脑、浏览器、html编辑器。

    1、首先,打开html编辑器,新建html文件,例如:index.html。

    2、在index.html中的<body>标签中,输入html代码:。

    <div style="margin-top: 30px;width: 200px;height:80px;border: 1px solid blue;">

    <div style="background-color: white;position: absolute;left: 30px;top: 15px;">文字</div>

    </div>

    3、浏览器运行index.html页面,此时实现了边框角落开口显示文字。

    热心网友 时间:2022-05-12 16:22

    这个可以通过相对定位使某元素恰好处在div的边框上的方式来实现

    position:relative;

    下面举例说明

    创建Html元素

    <div>
    <span class="title">我是边框上的文字</span>
    <span>我是边框内的文字</span>
    </div>

    设置css样式

    div{
    width:200px;
    height:100px;
    padding:5px 30px;
    margin:50px;
    border:4px solid #ebcbbe;
    }
    span.title{
    display:block;
    width:150px;
    height:30px;
    position:relative;
    top:-15px;
    text-align: center;
    background: white;
    }

    观察显示效果

    热心网友 时间:2022-05-12 17:56

    <fieldset>
    <legend>文字内容</legend>
    <p>kkkk</p>
    </fieldset>
    这样就行

    热心网友 时间:2022-05-12 19:48

    你可以用<fieldset>
    例子

    <fieldset>
    <legend>文字内容</legend>
    这里是内容
    </fieldset>

    热心网友 时间:2022-05-12 21:56

    最简单的方法:(缺点不兼容老版本的ie)
    <fieldset>
    <legend>标题</legend>
    <p>内容</p>
    </fieldset>
    ====================
    方法2:
    <div style="border:1px solid #666; height:100px; width:300px; position:relative;">
    <h3 style=" background:#FFF; display:block; height:20px; width:50px; position:absolute; left:10px; top:-30px; text-align:center">标题</h3>
    <p>内容</p>
    </div>

    注:设置position:absolute;并控制坐标(left、top)将标题调整到理想位置,设置白色背景挡住边框模拟出效果
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    嘉容的意思是什么 look!the girl is walking __the road.A,crossB,across!crossing D... 美甲打磨头坏了怎么修 美甲打磨机用了不合适的打磨头会怎么样 卸美甲用什么打磨比较好? 美甲钨钢打磨头和陶瓷打磨头哪个更容易起热呢?这两种打磨头有哪些区别呢... 美甲打磨机到底怎么用 自来水管里流出蓝色的水是怎么回事? 最近有啥动漫好看的 推荐一下最近3年好看的动漫。。。 温七如何设定窗口一小图标浏览方式? 怎样在css中给文章加边框? win 7系统怎么设置永久大图标浏览模式? 用css添加边框 怎么设定窗口小图标浏览方式 怎样用css写出圆形边框 我用css写,只想要div左右两边有边框,上下没有边框,要怎么写呢?_百度知 ... css边框的设置为什么会变成这样? CSS如何定义表格边框? CSS怎么制作边框线 怎么做css样式边框? 电脑字体突然变得很大怎么办? css边框是什么形状? 粽子是用水煮的还是蒸的? 在css中怎么加边框 用css怎么添加边框? win10电脑字体变大了怎么变小 win10系统IE字体突然变粗大? win10电脑桌面图标字体变大怎么办 win10电脑的显示图标和文本字体变大了怎么办 用什么软件可以浏览图片图标时就看见图片内容 css中border的属性 MacBook中始终以图标显示方式打开和以图标显示方式浏览有什么用? CSS如何设置边框和边框之间的距离? win7系统如何总是以大图标的方式浏览文件或文件夹 浏览文件名时以“图标”方式显示 浏览器图标是什么,在什么位置显示着呢 css怎么定义边框(border),使边框只显示外边框,而不显示内边框? 桌面上浏览页图标不见了怎么办 设定窗口一小图标浏览方式并以文件类型排序 桌面的浏览器图标变了,怎么才能改回来? 浏览量的小图标怎么写 电脑上那个蓝色图标浏览器的网址是什么 ...浏览器图标怎么改变啊? 电脑软件全是浏览器图标? 铁路托运的收费标准是什么? 铁路托运价格表 火车站托运怎么个收费 linux虚拟机删除目录命令? 在电脑上安装了虚拟机并且安装了LINUX操作系统,现在想卸载虚拟机...