Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何将内部div宽度设置为带边距的百分比_Html_Css - Fatal编程技术网

Html 如何将内部div宽度设置为带边距的百分比

Html 如何将内部div宽度设置为带边距的百分比,html,css,Html,Css,我正在为我的网站开发一个移动版本,我遇到了一个问题。我有一个外部的div,我想在整个宽度上延伸,然后我想在里面有4个div,宽度相等,中间有一个边距 如果我不需要他们之间的差额,这将很容易。我会简单地设置宽度:25%并完成它,但我希望它们之间有一个3像素的边距。设置此边距时,实际宽度将超过100%,因此占用div中的多行 我曾想过尝试在左边设置一个负的边距,但这只是去掉了右边的边距 CSS: 这是一个很好的例子,你可以明白我的意思 顺便说一句,我知道我可以在页面加载后使用一些jQuery或Jav

我正在为我的网站开发一个移动版本,我遇到了一个问题。我有一个外部的div,我想在整个宽度上延伸,然后我想在里面有4个div,宽度相等,中间有一个边距

如果我不需要他们之间的差额,这将很容易。我会简单地设置宽度:25%并完成它,但我希望它们之间有一个3像素的边距。设置此边距时,实际宽度将超过100%,因此占用div中的多行

我曾想过尝试在左边设置一个负的
边距,但这只是去掉了右边的边距

CSS:

这是一个很好的例子,你可以明白我的意思


顺便说一句,我知道我可以在页面加载后使用一些jQuery或JavaScript来完成这项工作,但我想知道是否有一种纯粹的CSS方法来完成这项工作。

您也可以使用%作为页边距。即:

margin: 0 0 0 1%;
只需确保通过减小宽度来补偿边距。因此,对于“内部”类,您将使用24%来实现上述余量,而不是25%


结合上述内容,您也可以使用%作为您的利润率。即:

margin: 0 0 0 1%;
只需确保通过减小宽度来补偿边距。因此,对于“内部”类,您将使用24%来实现上述余量,而不是25%

结合上述内容,您可以使用
calc()
从元素的宽度中减去
2px

但是,这会在最后一个元素上产生
2px
边距。要解决此问题,请加载项:

或者,您可以使用基于百分比的边距。

您可以使用
calc()
从元素的宽度中减去
2px

但是,这会在最后一个元素上产生
2px
边距。要解决此问题,请加载项:


或者,您可以只使用基于百分比的边距。

您可以使列分散24%,并在它们之间使用基于百分比的边距

.wrapper {
    width:100%
    height:50px;
    background-color:#f00;
    overflow:hidden;
}

.inner {
    width:24%;
    margin:0 .5%;
    float:left;
    background-color:#00f;
}

您可以使列分散24%,并在它们之间做基于%的边距

.wrapper {
    width:100%
    height:50px;
    background-color:#f00;
    overflow:hidden;
}

.inner {
    width:24%;
    margin:0 .5%;
    float:left;
    background-color:#00f;
}

您可以使用
边框
框大小
在25%宽度内包含此2倍间隙

若背景不是素色,那个么边框应该是透明的,背景色绘制为插入阴影

.inner {
    width:25%;
    border-right:2px solid transparent;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
    float:left;
 box-shadow:inset 0 0 0 10000px #00f;/* make it big , so it doesnt matter wich size it becomes.*/
}

宽度背景图像和半透明颜色

您可以使用
边框
框大小
在25%宽度内包含此2倍间隙

若背景不是素色,那个么边框应该是透明的,背景色绘制为插入阴影

.inner {
    width:25%;
    border-right:2px solid transparent;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
    float:left;
 box-shadow:inset 0 0 0 10000px #00f;/* make it big , so it doesnt matter wich size it becomes.*/
}

宽度背景图像和半透明颜色

我将100%的元素和边距分开,如下所示:

.inner {
    width:24%;        
    margin: 0.5%;    

    float:left;
    background-color:#00f;
}

如果希望外部边距和内部边距的大小相同,可以为第一个元素指定特定的边距

我将100%的元素和边距分开,如下所示:

.inner {
    width:24%;        
    margin: 0.5%;    

    float:left;
    background-color:#00f;
}

如果希望外部边距和内部边距的大小相同,可以为第一个元素指定特定的边距

这正是我要找的!我不知道css中的这个“calc”函数。您知道这是否会保持最初计算的值,或者如果屏幕分辨率发生变化,它是否会更新(例如,从纵向切换到横向,它会正确更新宽度吗?@jas7457,它会更新。下面是--调整浏览器大小,以查看它根据宽度百分比动态更新。。除此之外,正如丹科所指出的——是的,但我真的不担心这一点。这正是我想要的!我不知道css中的这个“calc”函数。您知道这是否会保持最初计算的值,或者如果屏幕分辨率发生变化,它是否会更新(例如,从纵向切换到横向,它会正确更新宽度吗?@jas7457,它会更新。下面是--调整浏览器大小,以查看它根据宽度百分比动态更新。。除此之外,正如丹科指出的那样——确实如此,但我真的不担心这一点。