热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

有没有办法使用纯CSS制作比例边距?-IsthereanywaytomakeproportionatemarginsusingpureCSS?

WithoutusingapreprocessorlikeSassorLess,isthereanywaytomakethemarginsofaseriesof

Without using a preprocessor like Sass or Less, is there any way to make the margins of a series of elements proportional to their content?

如果不使用像Sass或Less这样的预处理器,有没有办法让一系列元素的边距与其内容成比例?

So picture a horizontal navbar with 5 items. The text of each item is different, some are long and some are short, like this:

所以想象一个有5个项目的水平导航栏。每个项目的文本都不同,有些是长的,有些是短的,如下所示:

Menu |  Technology and Society | Laurem Ipsum | More Filler Text | Contact

I want to space these out proportionately so that the total width is 100% of the parent container and each item gets space and margin proportionate to the amount of text it contains without any of them having too much or too little margin. You can see how there's blank space at the end of the line-- that, for example, should not be there. Too much space is apportioned to the final element.

我想按比例分配这些,使总宽度为父容器的100%,每个项目的空间和边距与其包含的文本量成比例,而没有任何边距太多或太少。您可以看到行尾的空白区域 - 例如,不应该在那里。太多空间被分配给最终元素。

Is this possible with pure CSS?

纯CSS可以实现吗?

If not, how can it be done with Sass or Less?

如果没有,如何使用Sass或Less?

Note: I'm trying to see how this can be done dynamically, not by hard-specifying the width percents. I mean is there a way to use CSS so that it just does it automatically no matter how I change the text.

注意:我试图看看如何动态完成,而不是通过硬指定宽度百分比。我的意思是有一种方法可以使用CSS,这样无论我如何更改文本,它都会自动执行。

2 个解决方案

#1


2  

Only way is using display: table/table-cell values.

唯一的方法是使用display:table / table-cell值。

  • Menu
  • Technology and Society
  • Laurem Ipsum
  • More Filler Text
  • Contact

http://jsfiddle.net/og8m3g2m/

#2


0  

This below link can help u. In this article, explanation is given to the various scenarios. http://www.senktec.com/2014/01/using-css-display-table-cell-for-columns/

以下链接可以帮助你。在本文中,将解释各种方案。 http://www.senktec.com/2014/01/using-css-display-table-cell-for-columns/


推荐阅读
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 本文介绍了 Python 中的基本数据类型,包括不可变数据类型(数字、字符串、元组)和可变数据类型(列表、字典、集合),并详细解释了每种数据类型的使用方法和常见操作。 ... [详细]
  • 本文将深入探讨 iOS 中的 Grand Central Dispatch (GCD),并介绍如何利用 GCD 进行高效多线程编程。如果你对线程的基本概念还不熟悉,建议先阅读相关基础资料。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 在 CentOS 7 环境中使用 MySQL 5.6 镜像启动数据库时遇到权限问题,本文将详细探讨并提供解决方案。 ... [详细]
  • 本文介绍了Spring 2.0引入的TaskExecutor接口及其多种实现,包括同步和异步执行任务的方式。文章详细解释了如何在Spring应用中配置和使用这些线程池实现,以提高应用的性能和可管理性。 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
author-avatar
Mr-long類
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有