Inner border over images with CSS?

前端 未结 5 1817
滥情空心
滥情空心 2020-12-02 16:47

I would like to add a white border over all my images in my content div using css. Images in the header and footer div areas should not be affected. how do I achieve this?

相关标签:
5条回答
  • 2020-12-02 17:31

    You can do something like this DEMO

    HTMl

    <div class="imgborder">
       <div class="in-imgborder">
    
        </div>
    </div>
    

    CSS

    .imgborder {
        width: 300px;
        height: 300px;
        position: relative;
        background: url(http://placekitten.com/300/300) no-repeat;
    }
    .in-imgborder {
        width: 290px;
        height: 290px;
        position: absolute;
        top: 4px;
        left: 4px;
        border: 1px solid red;
    }
    
    0 讨论(0)
  • 2020-12-02 17:33

    Whatever the div ID or class is you can simply add

    #yourDivIDExample {
    ...
    }
    
    #yourDivIDExample img{
    border:1px solid #ffffff;
    }
    

    This will create a border around the images in the div itself.. same works for classes or global rule also ..

    img {
    border:1px solid #ffffff;
    }
    
    0 讨论(0)
  • 2020-12-02 17:37

    I solved this with box-shadow: inset and it works with IE11 and up. I wanted a border in the corners around the image but this examples have the border 10px inset. It requires a parent div with :before or :after element but handles it very well.

    .image {
        width: 100%;
        height: auto;
    }
    
    .image__wrapper {
        position: relative;
    }
    
    .image__wrapper:before {
      content: '';
      position: absolute;
      top: 10px;
      bottom: 10px;
      left: 10px;
      right: 10px;
      box-shadow: inset 0 0 0 3px red;
    }
    

    CodePen Demo

    0 讨论(0)
  • 2020-12-02 17:42

    You could try this:

    Html:

    <div class="image">
      <div class="innerdiv">
    
      </div>
    </div>
    

    Css:

    .image
    {
      width: 325px;
      height: 239px;
      background:url(http://www.modernvice.com/files/images/backgrounds/_Zoom/black-pony.jpg) 0 0 no-repeat;
      padding: 10px;
    }
    
    .innerdiv
    {
      border: 1px solid white;
      height:100%;
      width: 100%;
    }
    

    jsFiddle

    Hope this is what you meant :)

    0 讨论(0)
  • 2020-12-02 17:49

    You can do this without having an extra element or pseudo element:

    http://cssdeck.com/labs/t6nd0h9p

    img {
      outline: 1px solid white;
      outline-offset: -4px;
    }
    

    IE9&10 do not support the outline-offset property, but otherwise support is good: http://caniuse.com/#search=outline

    Alternate solution that doesn't require knowing the dimensions of the image:

    http://cssdeck.com/labs/aajakwnl

    <div class="ie-container"><img src="http://placekitten.com/200/200" /></div>
    
    div.ie-container {
      display: inline-block;
      position: relative;
    }
    
    div.ie-container:before {
      display: block;
      content: '';
      position: absolute;
      top: 4px;
      right: 4px;
      bottom: 4px;
      left: 4px;
      border: 1px solid white;
    }
    
    img {
      vertical-align: middle; /* optional */
    }
    
    0 讨论(0)
提交回复
热议问题