Writer, singer, lover, possessor of the most enviable abs on Instagram: Ellie Goulding is the star of the July issue of ELLE, currently on newsstands. 

She’s the perfect fit for our Body Issue – a celebration of health, fitness, wellness and, above all, loving your body without changing anything but your state of mind.

Styled by ELLE fashion director Anne-Marie Curtis and photographed by Aitken Jolly, Ellie wears a Dior jumpsuit and matching top on the newsstand cover and a Jonathan Saunders coat over an American Apparel bikini on the special subscriber version.

In the issue, Ellie talks candidly about how she had to work to build her emotional and body confidence over the years. Fame, which came along when she was 23 years old, made her second-guess herself: 'When I started out, I couldn't cope with it. I didn't quite know who I was supposed to be,' she says. 'I was never confident in my looks. I hated my chin, my nose, my eyebrows. I was told by people at my record company to watch videos of other girls, like Little Boots, and Elly Jackson from La Roux, and try and look like them. I had panic attacks so bad I couldn't leave my flat; I couldn't bear people looking at me. I would worry that I would never be able to sing because I couldn't even get up. I was also horribly ashamed of myself because I felt like some sort of drama queen and all I wanted to be was strong.' 

Since then, she's developed a sronger sense of self-love and bolder voice. She is 28 now and knows exactly who she is and who she wants in her life. For example, she refuses to allow rumours about her love life define her. ‘I did go on a few dates with Niall [Horan] but I was never in a relationship with Ed [Sheeran]. I have absolutely no idea where that came from and why it was turned into such a big thing. I find it so frustrating that female musicians are constantly defined by the men they have or haven’t dated. It’s something I’ve talked about with Taylor a lot. She definitely feels that. She gets bothered by it. It’s like, you can be a great artist, you can write great songs, but the thing that everyone is going to talk about is some relationship they think you have had or not had. It’s definitely something we both think happens to female artists over male artists.’ 

Not that she shies away from talk of her relationship with Dougie Poynter: ‘He is definitely the one forever. He’s been through a lot, and he has a quiet depth that I love,' she says. 'And you know what, when I was a teenager, I fancied him but I thought he was so out of my league. Way too good-looking for me. Calvin Harris has already offered to play at our wedding. Not that we’ve organised one. But the offer has been made.’

Read the full interview in our Body Issue, which is on newsstands now, or download it to your iPad via the App Store. In the meantime, watch Ellie play word games below (and don't forget to subscribe to ELLE today and never miss another issue).  

<!-- Start of Brightcove Player -->

<div style="display:none">

</div>

<!--
By use of this code snippet, I agree to the Brightcove Publisher T and C 
found at https://accounts.brightcove.com/en/terms-and-conditions/. 
-->

<script type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>

<object id="myExperience4256945634001" class="BrightcoveExperience">
  <param name="bgcolor" value="#FFFFFF" />
  <param name="width" value="591" />
  <param name="height" value="421" />
  <param name="playerID" value="72342324001" />
  <param name="playerKey" value="AQ~~,AAAAABn4dxs~,AY7gyox5PDgoFzRVhsm8l3GdwN2mXG9_" />
  <param name="isVid" value="true" />
  <param name="dynamicStreaming" value="true" />
    
  <param name="@videoPlayer" value="4256945634001" />
</object>

<!-- 
This script tag will cause the Brightcove Players defined above it to be created as soon
as the line is read by the browser. If you wish to have the player instantiated only after
the rest of the HTML is processed and the page load is complete, remove the line.
-->
<script type="text/javascript">brightcove.createExperiences();</script>

<!-- End of Brightcove Player -->