GVKun编程网logo

CSS浮动图像和文本之间的边距(css浮动图像和文本之间的边距怎么设置)

10

针对CSS浮动图像和文本之间的边距和css浮动图像和文本之间的边距怎么设置这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展Android-复选框和文本之间的间距、android–Button

针对CSS浮动图像和文本之间的边距css浮动图像和文本之间的边距怎么设置这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展Android - 复选框和文本之间的间距、android – Button中图标和文本之间的距离、Android:图像和文本之间的空间、css – 删除一组浮动按钮中的边距等相关知识,希望可以帮助到你。

本文目录一览:

CSS浮动图像和文本之间的边距(css浮动图像和文本之间的边距怎么设置)

CSS浮动图像和文本之间的边距(css浮动图像和文本之间的边距怎么设置)

抱歉,如果这是微不足道的,但我似乎无法找到解决方法.

所以我有这个非常简单的布局. 2个div元素浮动到左侧,一个浮动到右侧.在右边有一个图像,而在左边有文字.在文本部分的顶部(也在左侧)我想要另一个div只是一个衬垫,具有不同的背景颜色和文章的细节,例如作者,日期等.

<div id="mainarticle">
       <article>           

       <div id="mainimgcontainer">
             <img id="mainimage" src="theimage.jpg" />
       </div> <!-- #mainimgcontainer -->

       <div id="mainarticle_details">
         <span id="by">BY JOE BLOGGS</span><span>11/04/2014</span>
       </div><!-- #mainarticle_details -->

       <div id="maintext">
<p>Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
       </div> <!-- #maintext -->
       </article>
   </div> <!-- #mainarticle -->

带图像的右列将是屏幕宽度的50%.其余的将在它旁边流动.

#mainimgcontainer
{
  width: 50%;   
  float: right;
  margin-left: 10px;
}

div#mainarticle_details
{
  background-color: #f7f2e7;
  border-bottom: 2px solid #dac397;
  display: block;   
  line-height: 22px;
  padding-left: 10px;
  padding-right: 10px;
  vertical-align: bottom;
  overflow: auto;
  height: 23px;
}

img#mainimage
{
    width: 100%;    
    min-width: 100px;
    margin: 0px;
    padding: 0px;
    max-height: 32%;
}

现在,为了让主要文字不要触摸图像,我放了一个边距:10px;在图像上.但是,这也会在顶部的#mainarticle_details和图像之间留下空隙.我希望这两个人互相接触.

另一方面,如果我只向#maintext添加padding-right或margin-right,它仅适用于文本占据整个宽度的时间,并且文本仍然接触图像.

有没有办法让顶部#mainarticle_details触摸图像,但文本与图像间隔10px?

我在这里创建了一个jsfiddle:http://jsfiddle.net/A7uSr/29/

UPDATE

忘了提,这是一个移动网站.因此它需要适用于不同的屏幕宽度.固定定位对于像Android浏览器(不是Chrome)这样的移动设备来说也是非常错误的,所以请记住这一点.这最终将是文章的横向视图(纵向视图将只有顶部的图像和下面的文本).因此,图像必须位于文本的顶部,当设备转为横向模式时,CSS只会将其移动到侧面.

我还从我的实际场景中添加了一些更多细节,我意识到这将影响解决方案.主要是包含div的填充和图像的大小.
JSfiddle也更新了.

解决方法

通过将标题设置为position,我获得了成功:绝对和宽度:100%.这允许标题延伸到图像后面,使其看起来触摸图像,而文本保留10px边距.

我将图像移动到HTML中的标题上方以避免必须设置z-index.

我还为图像设置了CSS定义,使其尊重容器的百分比宽度.

WORKING EXAMPLE (jsfiddle)

HTML:

<div id="mainarticle">
    <article>

        <div id="mainimgcontainer">
            <img src="http://imgsv.imaging.nikon.com/lineup/lens/specoalpurpose/micro/af-s_vr_micro-nikkor_105mmf_28_if/img/sample/sample_l.jpg" />
        </div>        
        <!-- #mainimgcontainer -->

        <div id="mainarticle_details"> <span id="by">BY JOE BLOGGS</span></div>       
        <!-- #mainarticle_details -->

        <div id="maintext">
            <p>Lorem ipsum dolor sit amet,sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
            <p>Nam blandit lectus quis vestibulum blandit. Nunc viverra lectus eget tristique tempor. Cum sociis natoque penatibus et magnis dis parturient montes,nascetur ridiculus mus. Nunc imperdiet porta tincidunt. In vitae felis volutpat nisi pulvinar aliquam. Ut tempor sagittis congue. Aenean at commodo lorem. Ut faucibus tellus egestas facilisis dictum. Quisque eget mi et elit tincidunt porttitor. Pellentesque egestas libero sit amet urna soDales,non hendrerit lorem tempus. Donec risus enim,convallis in hendrerit sed,dapibus at purus. Vestibulum eu nisl at velit placerat mollis sed quis neque. In hac habitasse platea dictumst. Vestibulum venenatis at lacus a ullamcorper. Integer eget lectus id tortor bibendum imperdiet.</p>
            <p>Maecenas consectetur eros erat,quis pharetra nulla ornare eget. Nam ac risus porttitor,fringilla quam eu,cursus lacus. Cras adipiscing enim vitae leo dictum,at varius sapien bibendum. Quisque consequat suscipit purus,ac luctus ipsum volutpat ut. Nam fermentum tristique turpis. Sed semper orci et turpis placerat,non tincidunt est eleifend. Aenean a ligula eu libero facilisis scelerisque sit amet fringilla sapien. Aenean dictum ante orci,vel facilisis metus posuere ut. Maecenas sed odio ut velit tincidunt venenatis in ut lacus. Pellentesque condimentum tellus eu mollis hendrerit. Mauris adipiscing arcu ut fringilla aliquam. Nullam ultricies ac est nec cursus. Morbi vitae leo id nisi placerat tincidunt. Ut pulvinar,justo vel euismod aliquet,urna lorem feugiat metus,sit amet sagittis ipsum nibh quis augue. Vestibulum quis convallis turpis. Aenean fringilla ut nulla et laoreet.</p>
            <p>Nunc id nibh neque. Fusce ultricies quam vehicula elit dictum convallis. Aenean auctor,massa venenatis ullamcorper semper,ante purus vestibulum lacus,a ullamcorper arcu enim sit amet ante. Nulla aliquet vel lacus eu vulputate. Morbi elit metus,laoreet vel nunc at,consectetur pellentesque lectus. Ut blandit mi in odio sollicitudin,sit amet soDales lorem sollicitudin. Suspendisse lobortis urna sit amet faucibus posuere. Mauris cursus ac neque vitae malesuada. Curabitur a lorem ut nisi vestibulum scelerisque a id risus. Nulla mattis rhoncus congue. Quisque nec dolor nulla. Sed tempus nisl aliquam,pellentesque lacus in,faucibus felis. Nulla sit amet arcu rhoncus,blandit nunc sit amet,tincidunt erat.</p>
            <p>Sed vehicula enim velit,vitae fermentum felis consectetur nec. Sed sollicitudin vehicula leo quis laoreet. Mauris lobortis vitae massa id malesuada. Nam sit amet vulputate est,ut adipiscing orci. Quisque non sapien lectus. Nullam dapibus mauris non nisi lacinia,soDales posuere sem pellentesque. Sed tincidunt nibh id lacus rutrum soDales. Sed consequat elementum quam,sit amet tempus lorem ornare quis. Etiam sit amet aliquam ligula,ut feugiat ipsum. Nunc condimentum turpis nibh,vel faucibus arcu pretium ac. Cum sociis natoque penatibus et magnis dis parturient montes,nascetur ridiculus mus. Mauris quis justo justo. Nam molestie suscipit velit,et ullamcorper mi laoreet in. Cras congue euismod odio,ut sagittis ligula feugiat sit amet.</p>
        </div>

    </article>
</div>

CSS:

body {
    position:relative;
    margin:10px;
}
#mainimgcontainer {
    position:relative;
    width: 50%;
    float: right;
    margin-left:10px;
}
#mainimgcontainer img {
    width:100%;
}
div#mainarticle_details {
    background-color: #f7f2e7;
    border-bottom: 2px solid #dac397;
    line-height: 22px;
    height: 23px;
    position:absolute;
    width:100%;
}
div#mainarticle_details span {
    padding:0 0 0 10px;
}
div#maintext {
    position:relative;
    padding:23px 0 0;
}

(作为个人说明,我认为keep the margin consistent或put the header above the image and text看起来更好.)

更新:

如你所述,较长的标题处理得不好.如果它们太长,它们会消失在图像后面.

我意识到这个立场:绝对不是必要的.我从标题中删除它以允许包装的多行标题.宽度:100%部分使标题背景延伸到图像后面,同时仍允许标题文本换行到另一行.

我还添加了一个媒体查询来演示如何为移动设备更改布局.

<div id="mainarticle_details">
    <p id="by">BY JOE BLOGGS AND A LONGER heading</p>
</div>
div#mainarticle_details {
    background-color: #f7f2e7;
    border-bottom: 2px solid #dac397;
    line-height: 22px;
    position:relative;
    width:100%;
}
div#mainarticle_details p {
    margin:0;
    padding:0 0 0 10px;
}

@media (max-width: 600px) {
  div#mainimgcontainer {
    float:none;
    width:100%;
    margin:0;
  }
}

WORKING EXAMPLE (jsfiddle)

Android - 复选框和文本之间的间距

Android - 复选框和文本之间的间距

有没有一种简单的方法可以在 CheckBox 控件中的复选框和相关文本之间添加填充?

我不能只添加前导空格,因为我的标签是多行的。

照原样,文本太接近复选框: 替代文字

答案1

小编典典

我讨厌回答我自己的问题,但在这种情况下,我认为我需要回答。在检查之后,@Falmarri 的答案是正确的。问题是 Android 的 CheckBox
控件已经使用 android:paddingLeft 属性来获取文本所在的位置。

红线表示整个 CheckBox 的 paddingLeft 偏移值

替代文字

如果我只是在我的 XML 布局中覆盖该填充,它会弄乱布局。下面是设置 paddingLeft=”0” 的作用:

替代文字

事实证明,您无法在 XML 中解决此问题。你已经在代码中做到了。这是我的代码片段,其中硬编码的填充增加了 10dp。

final float scale = this.getResources().getDisplayMetrics().density;checkBox.setPadding(checkBox.getPaddingLeft() + (int)(10.0f * scale + 0.5f),        checkBox.getPaddingTop(),        checkBox.getPaddingRight(),        checkBox.getPaddingBottom());

这为您提供了以下内容,其中绿线是填充的增加。这比硬编码一个值更安全,因为不同的设备可以为复选框使用不同的可绘制对象。

替代文字

更新 - 正如人们最近在下面的答案中提到的那样,这种行为在 Jelly Bean (4.2)
中显然发生了变化。您的应用将需要检查其运行的版本,并使用适当的方法。

对于 4.3+,它只是设置 padding_left。有关详细信息,请参阅 htafoya 的答案。

android – Button中图标和文本之间的距离

android – Button中图标和文本之间的距离

我在XML中定义了一个按钮,如下所示:

<Button
    android:layout_width="@dimen/logo_menu_width"
    android:layout_height="@dimen/logo_menu_height"
    android:layout_margin="@dimen/logo_menu_margins"
    android:gravity="left|center_vertical"
    android:background="@drawable/selector_blue"
    android:drawableStart="@drawable/ic_action_settings"
    android:paddingStart="6dp"
    android:text="Options"
    android:textColor="@color/blue_light"
    android:textSize="@dimen/logo_menu_text"
    android:id="@+id/buttonoptions"
    android:layout_gravity="center_horizontal" />

如何增加图标(使用drawableStart设置)和文本之间的距离?文本对齐方式设置为左侧. paddingStart设置为6dp,但它仅适用于图标,而不适用于文本.

是否可以使用XML文件进行设置?

我知道我可以使用LinearLayout来实现这一点 – 包含ImageView和TextView,但我试图限制视图的嵌套.

解决方法:

使用android:drawablePadding属性.

Android:图像和文本之间的空间

Android:图像和文本之间的空间

这是我的代码:

<TextView
    android:id="@+id/error_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="2dp"
    android:gravity="center"
    android:drawableRight="@drawable/error_image"
    android:visibility="invisible"
    android:textColor="#aa0000"
    android:textandroid:textSize="16dp"/>

图像和文本之间有空间,我想减少这个空间,我该怎么办呢?

解决方法

正如您设置了android:layout_width =“match_parent”,TextView占用了所有宽度,因此您设置的drawablePadding将无法正常工作.所以你需要设置android:layout_width =“wrap_content”.

请尝试以下代码:

<TextView
    android:id="@+id/error_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawablePadding="0dp"
    android:layout_marginBottom="2dp"
    android:drawableRight="@drawable/ic_launcher"
    android:gravity="center"
    android:textColor="#aa0000"
    android:textSize="16dp"
    android:text="adsfasdfa"
    android:textandroid:visibility="invisible" />

css – 删除一组浮动按钮中的边距

css – 删除一组浮动按钮中的边距

我的页面上有一个指定宽度的容器;这样就可以将页面上的所有按钮居中.

我在按钮上使用margin-right,但我无法用按钮填充容器,以便它们与容器边缘对边,否则它们重新调整并且网格变为3×4而不是所需的4×3 .

那么如何摆脱按钮末尾的空间(边距)呢?我显然不能使用:last-child选择器.

<div id="container">
    <div id="months">
        <divdata-month="January"></div>
        <divdata-month="February"></div>
        <divdata-month="march"></div>
        <divdata-month="April"></div>

        <divdata-month="May"></div>
        <divdata-month="June"></div>
        <divdata-month="July"></div>
        <divdata-month="August"></div>

        <divdata-month="September"></div>
        <divdata-month="October"></div>
        <divdata-month="November"></div>
        <divdata-month="December"></div>
    </div>
</div>

CSS:

#container {
    width: 900px;
    margin: 10px auto;
}

#months {
    margin: 10px 5px 21px;

    float: left;
}

.month-button {
    width: 115px;
    height: 26px;

    background: url("/__resources/images/months.png");
    cursor: pointer;
    float: left;
    margin: 8px 87px 0px 0px;
}

解决方法

您可以使用 nth-child将每个第4个元素的右边距归零:

.month-button:nth-child(4n) {
    margin-right:0;
}

如果你需要支持旧的浏览器,那么我建议手动为每个第4个元素添加一个类,例如零右边距:

.zero-right-margin {
    margin-right:0;
}

今天关于CSS浮动图像和文本之间的边距css浮动图像和文本之间的边距怎么设置的分享就到这里,希望大家有所收获,若想了解更多关于Android - 复选框和文本之间的间距、android – Button中图标和文本之间的距离、Android:图像和文本之间的空间、css – 删除一组浮动按钮中的边距等相关知识,可以在本站进行查询。

本文标签: