自动换行 css 自适应 宽度不能用固定的,因为必须要适应各类手机,求方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动换行 css 自适应 宽度不能用固定的,因为必须要适应各类手机,求方法相关的知识,希望对你有一定的参考价值。

参考技术A 两种方式:一种方式,手机站css设置的时候全部用百分比来控制,这样所有的页面都会自动缩放;
第二种方式:需要你来判断浏览器的或者应该说是手机屏幕的大小,来设置其css样式:如:

当然我只是举个例子,其余的样式你可以自己设置,你设置个最大宽度与最小宽度max-width与min-width,一般都是320px--640px手机;
@media screen and (max-width:360px)bodyfont-size:12px
@media screen and判断如果浏览器宽度小于360px的话,执行样式,文字大小为12px
@media screen and (min-width:400px)bodyfont-size:18px
意思:判断浏览器宽度大于400px的时候,执行样式,文字大小为18px;本回答被提问者和网友采纳

如何仅使用 CSS 使孩子自动适应父母的宽度?

【中文标题】如何仅使用 CSS 使孩子自动适应父母的宽度?【英文标题】:How to make children auto fit parent's width only with CSS? 【发布时间】:2011-08-17 00:25:59 【问题描述】:

我有一个服务器端组件,它使用不固定宽度的DIV 生成流体布局“工具栏”,在其中生成许多A

然后我需要自定义该布局以使所有A 标签自动适应父宽度。但是子节点的数量是可变的,父节点的宽度是未知的(它会自动适应窗口)。

我用这个 Fiddle 做了一些测试:http://jsfiddle.net/ErickPetru/6nSEj/1/

但我找不到让它动态的方法(取消注释最后一个 A 标记,看看它是如何不起作用的,哈哈)。

我无法更改服务器端源以生成具有固定宽度的 HTML。如果有任何方法,我真的很想只用 CSS 来解决它,即使用 JavaScript 我也可以达到这个结果。

如何使所有子级自动适应父级的宽度,而与子级的数量无关?

【问题讨论】:

我很确定这不能用 CSS 来完成,所以(如果我是对的)你必须添加一点 JavaScript。 那是我的恐惧。也许 CSS3 和 HTML5 可以做点什么……还是不行? 如果您愿意放弃对 IE7 的支持,您可以轻松地使用 CSS。 Do you care about IE7? 一个好主意是做我的神奇选择,使用 的 JavaScript 解决方法 @ErickPetru:见meta.stackexchange.com/questions/43019/… - 我在这里只是因为我碰巧回顾了这个问题。 @thirtydot,假设我不关心 IE7。您能否回答我如何仅使用 CSS 轻松做到这一点? 【参考方案1】:

现在很多人使用 jQuery 作为这个问题的解决方案。你只需要一条线。这是你的小提琴。

$("div.parent a").css("width", (($("div.parent").width() / $("div.parent a").length ) -2) + "px");

【讨论】:

【参考方案2】:

你可以使用display: table-cell:

见: http://jsfiddle.net/6nSEj/12/ (or with 5 children)

这在 IE7 中不起作用,因为该浏览器根本不支持 display: table 和朋友。

div.parent 
    ..
    width: 100%;
    display: table;
    table-layout: fixed;

div.parent a 
    ..
    display: table-cell;

【讨论】:

现在 IE7 的市场份额不到 4%(至少在我的国家是这样),我相信它是最好的选择,因为它只使用 CSS 解决了问题。 @thirtydot 老兄,这是一个史诗般的解决方案!在许多情况下非常有用。谢谢!【参考方案3】:

这已经是一个很老的问题了。尽管当时给出的答案很好,但如今Flexible Box Layout 提供了相同的结果,而且更简单,good support 在所有现代浏览器中都适用。我强烈推荐它!

/* Important parts */
.parent 
  display: flex;


.parent a 
  flex: 1;


/* Decoration */
.parent 
  padding: 8px;
  border: 1px solid #ccc;
  background: #ededed;


.parent a 
  line-height: 26px;
  text-align: center;
  text-decoration: none;
  border: 1px solid #ccc;
  background: #dbdbdb;
  color: #111;
<div class="parent">
  <a href="#">Some</a>
  <a href="#">Other</a>
  <a href="#">Any</a>
</div>

<br>

<div class="parent">
  <a href="#">Some</a>
  <a href="#">Other</a>
  <a href="#">Any</a>
  <a href="#">One More</a>
  <a href="#">Last</a>
</div>

【讨论】:

以上是关于自动换行 css 自适应 宽度不能用固定的,因为必须要适应各类手机,求方法的主要内容,如果未能解决你的问题,请参考以下文章

css能不能实现左边div固定宽度,右边div自适应撑满剩下的宽度

css能不能实现左边div固定宽度,右边div自适应撑满剩下的宽度

css能不能实现左边div固定宽度,右边div自适应撑满剩下的宽度

css能不能实现左边div固定宽度,右边div自适应撑满剩下的宽度

CSS3如何固定图片宽度使图片高度按图片比例自适应?

CSS3如何固定图片宽度使图片高度按图片比例自适应?