css - 基于列表中最长单词的响应式 CSS 类型缩放

标签 css

我越来越熟悉 vmin vh 等 但我需要一个优雅的解决方案来显示单词列表说:

apple
banana
lemon
pineapple

因此列表始终采用 w 视口(viewport)的最大宽度...基于本例中最长的单词“pineapple

可以只使用 CSS 吗?

最佳答案

如果您希望列表元素始终采用页面的 x 宽度,同时保持元素边界流动以围绕其内容扩展(而不是固定宽度),您可以使用结合以下内容的解决方案inline-blockhtml 元素的 font-size 上显示一个 vw 单元。然而,这会相应地缩放整个页面中的所有内容。

(全屏并调整页面大小以查看列表调整)

// All javascript is necessary only for the button to demo list growth.
function addCnt(){
  var pinapl = document.getElementById( 'pinapl' );
  pinapl.innerHTML += 'e';
}

var cnt = document.getElementById( 'cnt' );
cnt.addEventListener( 'click', addCnt );
html,
body {
  margin: 0;
  height: 100%;
}
html {
  font-family: sans-serif;
  font-size: 6vw; /* setting vw value on HTML makes elements resize to viewport width */
}
body {
  display: flex;
}
ol {
  display: inline-block; /* making list element inline-block forces content to determine its width */
  margin: auto;
  background-color: #eee;
  list-style-position: inside;
}
.cnt {
  cursor: pointer;
  padding: 10px;
  background-color: #000;
  color: #eee;
  font-size: 16px;
  position: absolute;
}
<ol>
  <li>apple</li>
  <li>banana</li>
  <li>lemon</li>
  <li id="pinapl">pineapple</li>
</ol>

<div id="cnt" class="cnt">
  click to add content
</div>

关于css - 基于列表中最长单词的响应式 CSS 类型缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45445282/

相关文章:

html - 如何在 CSS 中定位这些图像?

html - 防止嵌套内容被周围的css格式化

php - JQuery 不会检查类型文件的输入值是否为空?

css - Algolia 水平显示的菜单

html - CSS DIV 在缩放时中断

jquery 下拉框字体和对齐方式

css - 大型样式表或带有 http 请求的较小版本

html - 在页面加载时选择默认的 css

html - 使用 bootstrap 创建这个布局

html - 浏览域时样式不起作用