How to center an image between two columns in CSS?
I have this html:
<div> <img class="image"> <p class="text"></p> </div> I want my text to be dynamically split into two columns, so I use the column-count property:
p.text { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2; } I also want to center the image between the two columns in width and height to get this effect:
How would you complete the task?
Is it possible to do the job only with css? If not, is there a way to do this using javascript by storing the column-count property?
There is no easy way to do this. However, you can "fake" the wrapping effect using pseudo-elements.
* { margin: 0px; padding: 0px; } .text { width: 49%; } #text-l { float: left; } #text-r { float: right; } #text-l:before, #text-r:before { content: ""; width: 125px; height: 250px; } #text-l:before { float: right; } #text-r:before { float: left; } .image { height: 250px; width: 250px; position: absolute; left: 50%; margin-left: -125px; background-color: yellow; } <div> <img class="image" src="http://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"> <p class="text" id="text-l"> How to create a Minimal, Complete, and Verifiable example When asking a question about a problem caused by your code, you will get much better answers if you provide code people can use to reproduce the problem. That code should be… …Minimal – Use as little code as possible that still produces the same problem …Complete – Provide all parts needed to reproduce the problem …Verifiable - Test the code you're about to provide to make sure it reproduces the problem Minimal </p> <p class="text" id="text-r"> The more code there is to go through, the less likely people can find your problem. Streamline your example in one of two ways: Restart from scratch. Create a new program, adding in only what is needed to see the problem. This can be faster for vast systems where you think you already know the source of the problem. Also useful if you can't post the original code publicly for legal or ethical reasons. Divide and conquer. When you have a small amount of code, but the source of the problem is entirely unclear, start removing code a bit at a time until the problem disappears – then add the last part back. Minimal and readable Minimal does not mean terse - don't sacrifice communication to brevity. Use consistent naming and indentation, and include comments if needed to explain portions of the code. Most code editors have a shortcut for formatting code - find it, and use it! Also, don't use tabs - they may look good in your editor, but they'll just make a mess on Stack Overflow. </p> </div> 