精华内容
下载资源
问答
  • 本博客意在剖析width与max-width/min-width属性 width和max-width/min-width属性均属于CSS中常用属性,其中 width属性设置元素的宽度。默认情况下,它会设置内容区域的宽度,但是如果box-sizing设置为border-box,...

    本博客意在剖析width与max-width/min-width属性

    width和max-width/min-width属性均属于CSS中常用属性,其中

    • width属性设置元素的宽度。默认情况下,它会设置内容区域的宽度,但是如果box-sizing设置为border-box,它会设置边框区域的宽度
    • max-width/min-width属性设置元素的最大/最小宽度。它可以防止使用的width属性值变得比max-width指定的值大/小,值得注意的是,min-width属性会覆盖max-width属性,针对这一点,后续会有验证

    在width和max-width/min-width属性使用过程中,属性值均可为100%,在MDN中对这种情况进行了如下阐述

    • <percentage>
      • Defines the max-width as a percentage of the containing block's width.
      • Defines the width as a percentage of the containing block's width.

    如上所示,二者相关内容定义类似,但在实际应用中略有不同,例如在如下示例中,

    设置img的父盒子即div的width为浏览器宽度的25%,img的width为100%(此处代表img宽度与父盒子宽度相同,高度等比缩放),在该例中,可以看出随着浏览器界面的放大,img的尺寸等比放大,且为父盒子宽度的100%,放大过程不受img原尺寸的影响

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            div {
                width: 25%;
            }
            div img {   
                width: 100%;
            }
        </style>
    </head>
    <body>
        <div>
            <img src="IMAGES/images/apple.png" alt="">
        </div>
    </body>
    </html>

    设置img的父盒子即div的width为浏览器宽度的25%,img最大宽度为100%(此处代表img最大宽度为原图的宽度,而不会受到浏览器宽度的不断增加而扩展),在该例中,可以看出,当父盒子div的宽度不足img宽度时,随着浏览器界面的放大,img的宽度为父盒子div的宽度的100%,但当父盒子div的宽度大于img宽度时,img尺寸不随浏览器界面的放大而放大,即最大为原图尺寸。min-width同理

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            div {
                width: 50%;
            }
            div img {   
                max-width: 100%;
            }
        </style>
    </head>
    <body>
        <div>
            <img src="IMAGES/images/apple.png" alt="">
        </div>
    </body>
    </html>

    为进一步探究max-width与min-width的覆盖关系,进行如下实验,通过结果可以看出,img的最大尺寸明显在img宽度的11%以上,这说明在同时设置min-width和max-width时,min-width属性会覆盖max-width属性

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            div {
                width: 100%;
            }
            div img {   
                min-width: 10%;
                max-width: 11%;
            }
        </style>
    </head>
    <body>
        <div>
            <img src="IMAGES/images/apple.png" alt="">
        </div>
    </body>
    </html>

     本系列博客会陆续更新,主要内容为所前端学习过程中的心得体会,如感兴趣,大家多关注鼓励

    展开全文
  • css max-width_CSS中的max-width属性

    千次阅读 2020-08-01 21:02:05
    css max-width CSS | 最大宽度属性 (CSS | max-width property) The max-width property is used to help in setting the width of an element to the maximum. Although if the element or content is already ...

    css max-width

    CSS | 最大宽度属性 (CSS | max-width property)

    The max-width property is used to help in setting the width of an element to the maximum. Although if the element or content is already larger than the maximum width then the height of that content or element will be changed.

    max-width属性用于帮助将元素的宽度设置为最大。 尽管如果元素或内容已经大于最大宽度,则该内容或元素的高度将被更改。

    The max-width property doesn't work on content which is smaller than the maximum width. The maximum width property overrides the width property. The default value of the max-width property is none. The width of the element can be measured in terms of %, px, cm or none.

    max-width属性不适用于小于最大宽度的内容。 最大宽度属性将覆盖width属性。 max-width属性的默认值为none。 元素的宽度可以用% , px , cm或不测量 。

    Syntax:

    句法:

        Element
        {
            max-width : 50% / 50px /50cm etc.
        }
    
    

    Example:

    例:

    <!DOCTYPE html>
    <html>
    
    <head>
        <style>
            .element1 {
                background-color: #f40;
                color: #ffffff;
                max-width: 50%;
            }
            
            .element2 {
                background-color: #f40;
                color: #ffffff;
                max-width: 200px;
            }
            
            .element3 {
                background-color: #f40;
                color: #ffffff;
                max-width: 300px;
            }
        </style>
    </head>
    
    <body>
        <div class="element1">
            <p>This is sample text in element1 DIV.</p>
        </div>
        <div class="element2">
            <p>This is sample text in element2 DIV.</p>
        </div>
        <div class="element3">
            <p>This is sample text in element3 DIV.</p>
        </div>
    </body>
    
    </html>
    
    

    Output

    输出量

    max-width property in CSS | Example 1

    In the above example, there are three CSS classes element1, element2 and element3 and applied max-width are 50%, 200px and 300px respectively.

    在上面的示例中,存在三个CSS类element1 , element2和element3,并且所应用的最大宽度分别为50% , 200px和300px 。

    属性值 (Property values)

    ValueDescription
    noneThere is no maximum width. This is default.
    lengthIt defines the maximum width in px, cm, etc.
    %This is used to define the maximum width in percent of the containing block.
    initialThis sets this property to its default value.
    inheritThis inherits this property from its parent element.
    描述
    没有 没有最大宽度。 这是默认值。
    长度 它以px,cm等为单位定义最大宽度。
    这用于定义包含块的最大宽度(以百分比为单位)。
    初始 将此属性设置为其默认值。
    继承 这将从其父元素继承此属性。

    Hence, the max-width property comes in handy when you want to style your element in a very specific manner i.e., to adjust the width.

    因此,当您要以非常特定的方式(例如调整宽度)来设置元素样式时, max-width属性会派上用场。

    Sometimes a website focuses more on its content for the audience, they want their content to be comprehensive and legible. Those websites tend to keep the width of their content a bit large.

    有时,网站会更着重于面向受众的内容,他们希望其内容全面且清晰易读。 这些网站倾向于将其内容的宽度保持较大。

    But not everywhere this property can be applied as you do not want your site to look clumsy or congested. Thus, one needs to be very careful while using this property to decide where to use it.

    但是,并非所有地方都可以应用此属性,因为您不希望站点显得笨拙或拥挤。 因此,在使用此属性来决定在哪里使用它时需要非常小心。

    翻译自: https://www.includehelp.com/code-snippets/max-width-property-in-css.aspx

    css max-width

    展开全文
  • View属性的解析设计到两个类:AttributeSet 和 TypedArray,前者将View设置的所有属性做了汇集和封装,后者提供了解析属性值的方法。

    一 引言

    在开发 Android UI 界面时,一般都会在 layout 目录下新建一个XML文件,用于编写布局文件。下面是一个简单的布局文件:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <Button
            android:id="@+id/btn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>

    从上面的文件的布局文件可以看到,控件由各个属性组成,如id、layout_width、layout_height等,这些属性最终都会经系统解析,从而在 View 在measure、layout 及 draw的过程中使用。

    那么问题来了

    layout目录下布局文件各View的属性是如何解析的?

    View的属性很多,下面以 layout_width 属性的解析过程做简单的分析。

    主要分两个步骤:
    1. 将布局文件的属性解析到 AttributeSet 中
    2. 将 AttributeSet 中 layout_width属性解析到 LayoutParams 的 width域中。

    二 layout/layout_name.xml -> AttributeSet

    简单说下AttributeSet,它的作用从名字可以看出了,其实就是属性的集合,它包含了 View 设置的所有属性。详细见 官网 说明。
    我们知道,在 Activity onCreate方法 中,将布局文件资源id作为参数传入 setContentView(int layoutResID) 方法中,从而展示布局。也有通过 adaptergetView() 方法中通过 LayoutInflater 将布局resID显式 inflate 进去。其实,setContentView最终也是通过 LayoutInflater 将布局文件信息填充到对应的 View 中。源码如下:

    源码路径: frameworks/base/core/java/android/app/Activity.java

    public void setContentView(@LayoutRes int layoutResID) {
        getWindow().setContentView(layoutResID);
        initWindowDecorActionBar();
    }

    activity setContentView方法 通过 getWindow() 获得 Window 实例,window的实现类是 PhoneWindow, 来看下其对 setContentView*方法的实现:

    @Override 
    public void setContentView(int layoutResID) {
        // Note: FEATURE_CONTENT_TRANSITIONS may be set in the process of installing the window
        // decor, when theme attributes and the like are crystalized. Do not check the feature
        // before this happens.
        if (mContentParent == null) {
            installDecor();
        } else if (!hasFeature(FEATURE_CONTENT_TRANSITIONS)) {
            mContentParent.removeAllViews();
        }
    
        if (hasFeature(FEATURE_CONTENT_TRANSITIONS)) {
            final Scene newScene = Scene.getSceneForLayout(mContentParent, layoutResID,
                    getContext());
            transitionTo(newScene);
        } else {
            mLayoutInflater.inflate(layoutResID, mContentParent);
        }
        final Callback cb = getCallback();
        if (cb != null && !isDestroyed()) {
            cb.onContentChanged();
        }
    }

    从上面代码可知,当hasFeature(FEATURE_CONTENT_TRANSITIONS) 返回为false时,会调用 LayoutInflater 实例的inflate方法,其中参数 layoutResID 即是我们传入的布局资源id。


    接下来,我们就看下 LayoutInflater 类的 inflate 方法是如何解析布局资源的。

    public View inflate(int resource, ViewGroup root) {
        return inflate(resource, root, root != null);
    }

    inflate 方法调用了同名方法,跟进:

    public View inflate(int resource, ViewGroup root, boolean attachToRoot) {
        final Resources res = getContext().getResources();
        if (DEBUG) {
            Log.d(TAG, "INFLATING from resource: \"" + res.getResourceName(resource) + "\" ("
                    + Integer.toHexString(resource) + ")");
        }
    
        final XmlResourceParser parser = res.getLayout(resource);
        try {
            return inflate(parser, root, attachToRoot);
        } finally {
            parser.close();
        }
    }

    首先,通过 getResources 方法获取 Resource 实例,然后将 resID 传入该实例的 getLayout 方法,从而返回一个 XmlResourceParser 实例,它是对已经编译过的xml文件的封装,接下来将该 parser 作为参数传入到 inflate,看下 这个inflate 方法实现逻辑。

    public View inflate(XmlPullParser parser, ViewGroup root, boolean attachToRoot) {
        synchronized (mConstructorArgs) {
        ...
        final AttributeSet attrs = Xml.asAttributeSet(parser);
        ...
        // Temp is the root view that was found in the xml
        final View temp = createViewFromTag(root, name, attrs, false);
        ViewGroup.LayoutParams params = null;
        if (root != null) {
            // Create layout params that match root, if supplied
            params = root.generateLayoutParams(attrs);
            if (!attachToRoot) {
                // Set the layout params for temp if we are not
                // attaching. (If we are, we use addView, below)
                temp.setLayoutParams(params);
            }
            return result;
        }
    }

    这里的 inflate 方法实现逻辑较长,我们截取了部分代码。重点关注 下final AttributeSet attrs = Xml.asAttributeSet(parser);
    到这里,,AttributeSet 出现了!
    Xml将已经封装的 XmlResourceParser 实例转化为我们想要的 AttributeSet 对象。

    三 将 AttributeSet 中 layout_width属性解析为LayoutParams 的 width

    接下来父View通过 AttributeSet 解析其子View的layout_width属性,从而将 生成该父View 的LayoutParams width的值。

    root.generateLayoutParams(attrs)

    其中 attrs 参数是由 XmlasAttributeSet 方法将之前已经封装的 XmlResourceParser 实例解析而来。root是该我们先前在activity传入的资源布局id所对应view的父容器。由其负责解析其子view的 LayoutParams。代码如下:

     public LayoutParams generateLayoutParams(AttributeSet attrs) {
            return new LayoutParams(getContext(), attrs);
     }

    继续跟进 LayoutParams 类的构造函数实现

    public LayoutParams(Context c, AttributeSet attrs) {
        TypedArray a = c.obtainStyledAttributes(attrs, R.styleable.ViewGroup_Layout);
        setBaseAttributes(a,
                R.styleable.ViewGroup_Layout_layout_width,
                R.styleable.ViewGroup_Layout_layout_height);
        a.recycle();
    }

    首先看构造函数体里面的第一行代码
    TypedArray a = c.obtainStyledAttributes(attrs, R.styleable.ViewGroup_Layout);
    obtainStyledAttributes 方法的目的是为了获取属性,关于该方法有许多重载方法,如下:

    1. public final TypedArray obtainStyledAttributes(int[] attrs)

      用于从系统主题中获取 attrs 中的属性

    2. public final TypedArray obtainStyledAttributes(int resid, int[] attrs)

      用于从资源文件定义的 style 中读取属性

    3. public final TypedArray obtainStyledAttributes(AttributeSet set, int[] attrs)

      layout 设置的属性集中获取 attrs 中的属性

    这里用到的是第三个方法,它有两个参数。第一个参数为 AttributeSet 引用,它是数据源,表示属性从哪里来的,第二个参数 attrs 表示需要获取哪些属性。第二个参数传入的是 R.styleable.ViewGroup_Layout,它定义在
    frameworks/base/core/res/res/values/attrs.xml 文件中,如下:

    <declare-styleable name="ViewGroup_Layout">
        <attr name="layout_width" format="dimension">
            <enum name="fill_parent" value="-1" />
            <enum name="match_parent" value="-1" />
            <enum name="wrap_content" value="-2" />
        </attr>
        <attr name="layout_height" format="dimension">
            <enum name="fill_parent" value="-1" />
            <enum name="match_parent" value="-1" />
            <enum name="wrap_content" value="-2" />
        </attr>
    </declare-styleable>

    在这里说明下,通过在 attr 文件中定义styleable,编译后在 R 文件中自动生成一个int[],数组里面的值就是定义在 styleable 里面的 attr 的id。下面分析
    TypedArray a = c.obtainStyledAttributes(attrs, R.styleable.ViewGroup_Layout); 的解析过程:
    首先 attrs(属性源) 参数是对我们一开始就传入到 Activity setContentView 方法里面的 layout 文件id进行解析得到的属性集合,由 LayoutInflater 加载得到的,R.styleable.ViewGroup_Layout(要获取的属性) 就是一个int[],里面包含了声明的 attr id。我们知道了属性源,也知道了需要获取的属性集合,通过 obtainStyledAttributes 方法最终得到一个 TypedArray

    TypedArray是什么鬼?

    TypedArray的存在简化了我们解析属性的步骤。比如解析 android:text="@string/my_label,text的属性值是引用类型。如果直接使用 AttributeSet 解析该属性,需要两步:1. 获取text属性引用值的id;2. 根据该id去获取text对应的String值。而有了TypedArray,这些工作交给它就行了。
    好了,我们继续跟着刚才 LayoutParams 构造函数里的实现,我们进入

    protected void setBaseAttributes(TypedArray a, int widthAttr, int heightAttr) {
        width = a.getLayoutDimension(widthAttr, "layout_width");
        height = a.getLayoutDimension(heightAttr, "layout_height");
    }

    到这里,layout_width 属性值最终赋给了width。其中widthAttr 的参数值是我们刚刚传入的R.styleable.ViewGroup_Layout_layout_width。TypedArray根据名称索引到对应的值。

    四 总结

    属性解析的过程说的有些泛,只是了解了解析的流程,有些内容还需要后面继续深入了解。View属性的解析设计到两个类:AttributeSetTypedArray,前者将View设置的所有属性做了汇集和封装,后者提供了解析属性值的方法。

    展开全文
  • css border-width属性设置边框宽度

    千次阅读 2021-06-13 04:49:14
    border-width介绍border-width属性设置一个元素的四个边框的宽度。在CSS初学者阶段,我们都是建议采用像素做单位。border-width属性可以有一到四个值。如果提供全部四个参数值,将按上、右、下、左的顺序作用于四边...

    border-width介绍

    border-width属性设置一个元素的四个边框的宽度。在CSS初学者阶段,我们都是建议采用像素做单位。

    border-width属性可以有一到四个值。

    如果提供全部四个参数值,将按上、右、下、左的顺序作用于四边。

    如果只提供一个,将用于全部的四边。

    如果提供两个,第一个用于上、下,第二个用于左、右。

    如果提供三个,第一个用于上,第二个用于左、右,第三个用于下。

    如果border-style设置为none或hidden,border-width的使用值将为0。

    CSS border-width属性值

    css border-width属性取值如下表:

    描述

    thin

    定义细的边框。

    medium

    默认。定义中等的边框。

    thick

    定义粗的边框。

    length

    允许您自定义边框的宽度。

    inherit

    规定应该从父元素继承边框宽度。

    在WEB网站开发中,一般建议使用px像素作为border-width的单位,例如:border-width:1px;表示四个边框的宽度为1个像素。

    border-width 实例

    设置p元素四个边框的宽度:

    http://www.manongjc.com/article/1198.html

    p.one{

    border-style:solid;

    border-width:5px;

    }

    p.two{

    border-style:solid;

    border-width:medium;

    }

    p.three{

    border-style:solid;

    border-width:1px;

    }

    Some text.

    Some text.

    Some text.

    Note: The "border-width" property does not work if it is used alone. Use the "border-style" property to set the borders first.

    展开全文
  • css的data-width属性赋值

    千次阅读 2019-01-12 11:07:34
    $('.xxx').data('width','30%'); 内容最少的一篇博客,嗯。
  • 标签属性和css样式的优先级比较(及img的height、width属性) 今天在看w3c的CSS教程中的尺寸(Dimension)那一节,进行了如下实验: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
  • <el-table :data="rightsListTableData" border stripe style="width: 100%"> <el-table-column type="index" label="#" min-width="10%"> 权限名称" min-width="30%"> 路径" min-width="30%"> 权限等级" ...
  • 使用百分比值使用 width 属性的最后一个技巧是使用百分比值来代替像素的绝对值。这将使浏览器按照与浏览器显示窗口的一定比例来缩放图像。因此,如果要创建一个宽度与显示窗口宽度相同,高度为 30 个像素的彩色横条...
  • 控制span的width属性

    千次阅读 2012-12-04 10:39:16
    一般来span标记的样式设定width属性,会发现不会产生效果。但是有时我们因为某种应用而需要来设置span的width属性。这个时候我们就要用到display属性了。  对于display属性而言他有四个属性值:block、inline、...
  • 问题描述:本以为RecyclerView已经用的很熟练了,与scrollview嵌套显示,滑动冲突,...相关问题经验回顾:之前也遇到过一回这样的情况,不过那次很简单排除起来,那次是无意中把把RecyclerView的layout_width...
  • android:layout_width:指定该子组件的布局宽度; 他们分别支持3种属性值,match_parent,fill_parent,wrap_content。match_parent:指定子组件的高度、宽度与父容器组件的高度、宽度相同。 fill_parent:作用与...
  • table表格宽带width属性研究

    千次阅读 2018-06-14 22:23:59
    今天在开发过程中有利用到table中的width属性,涉及百分比和像素,由于对width内部属性的不明确,导致表格的数据展示不完美,闲下来自己捣鼓,所以才有这份研究,仅作为个人成长记录,以及提供参考 情况分析: 1....
  • CSS3中width属性的calc()使用

    万次阅读 2015-04-11 01:08:12
    众所周知,如果元 素宽度为100%时,其自身不带其他盒模型属性设置还好,要是有别的,那将导致盒子撑破。比如说,有一个边框,或者说有margin和padding,这 些都会让你的盒子撑破。我们换句话来说,如果你的元素宽度...
  • 该方法通过在3个浮动元素上设置min-width和max-width属性来实现响应式布局。只要采用CSS中这个非常简单的响应式布局特性,就能够适应移动设备和不同尺寸的计算机屏幕。 准备工作 在极小视窗的限制下,把浮动元素...
  • input框的maxlength 和width属性

    千次阅读 2014-07-24 18:46:13
    Name:  Name2:  maxlength="5",则input输入框中只能够输入5个字符  size="5",表示input输入框只显示5个可见的字符,但你可以输入'无数'多字符内容 ... 由于 size 属性是一个可视化的设计属性,我们应使用 CS
  • android 动态修改 TextView的width属性

    千次阅读 2013-12-19 18:10:53
    1:当我们需要动态的修改一个控件的宽度的时候请记住要么使用 setwidth都使用setwidth函数 要使用 LayoutParams.width属性就都用这样的方法去设置 2:当我们调用完setWidth函数后再去调用 LayoutParams.width的方法...
  • CSS border-width 属性

    千次阅读 2013-11-29 23:38:53
    10.1. CSS border-width 属性 10.1.1. CSS border-top-width 属性10.1.2. CSS border-right-width 属性10.1.3. CSS border-bottom-width 属性10.1.4. CSS border-left-width 属性 CSS border-width 属性示例 -- ...
  •  min-width的使用在流式布局(fluid layout)中是非常常见的,当用户在改变窗口大小的时候,网页内容会随之移动,直到窗口的大小确定位置。这个时候,min-属性变起作用了。可以通过限制min-属性,让页面产生滚动条...
  • table里td设置width,firefox等浏览器里显示正常,ie里则无效。style="width:...px;"也是一样的效果。要让ie也有效,必须需要在table里再设置一下table-layout: fixed,如 这样ie里td的width才生效。 使用...
  • 元素的width属性是否可以继承

    千次阅读 2018-01-09 20:24:42
    关于元素的继承问题真的是,有话要说,文字的一些样式可以继承...竟然还有一些同行说width也可以继承,这就忍不了了。 我写这么一段代码,div里面写了样式,而p里面什么都没写 在浏览器预览的效果  
  • 属性width height 定义:在页面加载时为图像预留空间,以免图片加载时,页面布局会发生变化。 属性值:pixels(以像素为单位的高度或宽度值) percent(以包含元素的百分比计的高度或宽度值) 使用技巧: 隐藏特性:...
  • CSS宽度属性为单词width,宽度width包含了两个重要的属性:最大宽度属性max-width和最小宽度属性min-width。最大宽度属性(max-width)用来定义宽度显示的最大值,当拖动浏览器边框使其显示范围大于最大宽度的时候,...
  • ios preferredMaxLayoutWidth属性

    千次阅读 2018-05-23 11:19:58
    多行UILabel不知道自己要显示多少内容,不知道自己的真实尺寸,这个preferredMaxLayoutWidth属性就告诉了它布局时最大的参考宽度。 正确地设置了UILabel的preferredMaxLayoutWidth属性之后发现它正常地显示了多行...
  • 下面这张图对于有强迫症的 iOS 开发应该并不陌生,只要 xib 中将 UILabel 的 numberOfLines 设置为非 1(0或2,3…)并且没有在 xib 中设置 preferredMaxLayoutWidth 就会出现该警告。 消除该警告,有两种比较常见的...
  • min-width、max-width属性中min-content、max-content的含义,css中minmax()用法、1fr单位的含义 min-width 表示容器的最小宽度 max-width 表示容器的最大宽度 .box{ min-width: 300px; # 表示容器的最小宽度为...
  • width: calc(100% - 20px); css3 的 calc()函数。 这里的意思是设置宽度比100%的宽度少20px。 calc()函数用于动态计算长度值。 calc()函数支持 "+", "-", "*", "/" 运算; calc()函数使用标准的数学运算优先级...
  • 在介绍了包含块之后,CSS2.1标准中介绍了width属性和height属性,这两个属性在我们的页面布局中也发挥着重要的作用。在盒模型中,width和height包围了一个框的内容区域(content area),是否拥有显式的定义、框的类型...
  • canvas具有两个行内的属性width与height属性,同时如果使用css定义width与height属性;在解释这两类之间的差别之前先看一下作的测试: css: canvas { display: block; border: 2px solid gray; border-radius...
  • Android布局文件layout.xml的一些属性值 android开发必看文档

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 862,444
精华内容 344,977
关键字:

width属性